PDA

Vollständige Version anzeigen : Abfrage mit Beziehung und SUM Funktion


Rudeman
24.01.2008, 19:19
Hi!

Ich habe in eine bestehende Datenbank Spesen hinzufügen müssen.
Da es für jeden Auftrag mehrere Spesen geben kann, sind diese in einer eigenen Tabelle gespeichert.
Jetzt gibt es eine Abfrage, die die Summen von BON, BAR und Kreditkarte zusammenrechnet. In der gleichen Abfrage brauche ich aber auch die Summe der Spesen. Das ganze sieht so aus:

http://img521.imageshack.us/img521/9168/sc3rk6.jpg

SQL-Code:

SELECT DISTINCT tab_Auftrag.AuftragsDatum, Sum(tab_Auftrag.BON) AS [Summe von BON], Sum(tab_Auftrag.BAR) AS [Summe von BAR], Sum(tab_Auftrag.CC) AS [Summe von CC], Sum(tab_Kosten.Kosten) AS SummevonKosten
FROM tab_Auftrag LEFT JOIN tab_Kosten ON tab_Auftrag.AuftrSchl = tab_Kosten.AuftrSchl
GROUP BY tab_Auftrag.AuftragsDatum
HAVING (((tab_Auftrag.AuftragsDatum) Between EVAL("[Forms]![frm_diverse Listen und Rechnungen]![txt_Von]") And EVAL("[Forms]![frm_diverse Listen und Rechnungen]![txt_BIS]")));


Das Problem ist, dass es für einen Auftrag zb 2 Spesen einträge gibt (Kosten). Die Abfrage rechnet aber auch den Auftrag dann 2 mal.

Wie kann ich das verhindern?????

Hoffe ihr könnt mir helfen!
Danke!!!

SaschaBHH
24.01.2008, 19:46
Hi,

tab_Kosten in einer sep. Abfrage (Gruppierung AuftrSchl und Summe für Kosten) auswerten und diese Abfrage dann dann statt der vorhanden tab_Kosten in die gezeigte Abfrage einfügen.

Tip und nicht relevant: Wenn in der Tabelle Kosten Spesen aufgeführt sind, dann nenne Sie auch so. tab_Spesen. :-)

Gruß
Sascha;-)

Rudeman
24.01.2008, 20:18
Hi!

Danke für die schnelle Antwort!
Funktioniert! Ist zwar viel Arbeit, da mein Vorgänger das ganze in etwa 10 Abfragen eingebaut hat. Aber es funkt.

Da mein Vorgänger auch schon etwas mit Spesen herumgebastelt hat, gibt es bereits eine Tabelle mit dem Namen Spesen. Da ich mir nicht sicher bin, ob mein Kunde diese noch benutzt und ich auch nicht genau weiß wie weit verschachtelt diese Tabell ist, dachte ich mir ich mach das ganze neu und nenne es Kosten. ^^

DANKE NOCHMAL!

SaschaBHH
24.01.2008, 20:21
bütte, bütte.

Als Danke: Diesen Thread als "erledigt" setzen oder wahlweise allen ein Bier ausgeben. :D

Rudeman
24.01.2008, 21:18
Kann ihn leider nicht als erledig setzen, da ich nicht registriert bin, bzw. war als ich ihn angelegt habe....
lol, Würd dir eh lieber ein Bier ausgeben. ^^

SaschaBHH
24.01.2008, 21:23
Hi,

nun ist die Hilfe vom Admin gefragt. Mit den technischen Hintergründendes MOF bin ich nicht vertraut.

Also MOF Team: Kann man unter den genannten "Umständen" einen Thread nicht als erledigt setzen?

Rudeman
24.01.2008, 21:34
Wäre nett. :grins:

Könntest Du Dir viell. meinen anderern threat auch angucken?? Wäre super!
http://www.ms-office-forum.net/forum/showthread.php?t=225540
Danke nochmal!

lg