Hallo ,
Ich habe eine Tabelle mit folgender Struktur: 1. Spalte: Datum 2. Spalte: fk_Bezeichnung und 3. Spalte: Menge.
Nun möchte ich eine Abfage machen, die mir die Mengen pro Jahr und Artikel (in fk_Bezeichnung) aufsummiert.
Ich habe hier im Forum gesucht, Don Karl durchstöbert und mir folgende Abfrage gebastelt, die das auch solange gut macht, bis ich in einem Jahr mehr als einen Artikel in fk_Bezeichnung habe. Ab da rechnet sie falsch...
SELECT DatePart("yyyy",[Datum]) AS AJahr, [14_Tbl_Verbrauchsmengen].FK_Bezeichnung, (DSum("[Menge]","[14_Tbl_Verbrauchsmengen]","DatePart('yyyy', [Datum])=" & [AJahr] & "")) AS JahresSumme
FROM 14_Tbl_Verbrauchsmengen
GROUP BY DatePart("yyyy",[Datum]), [14_Tbl_Verbrauchsmengen].FK_Bezeichnung
ORDER BY DatePart("yyyy",[Datum]);
Hat bitte jemand einen Tip, wie ich das hinbekomme?
Hallo Thom,
Artikel muss auch in DSum einbezogen werden:
SELECT DatePart("yyyy",[Datum]) AS AJahr, Year([Datum]) AS BJahr, [14_Tbl_Verbrauchsmengen].fk_bezeichnung AS Bez,
DSum("[Menge]","[14_Tbl_Verbrauchsmengen]","fk_Bezeichnung='" & [Bez] & "'" & " AND DatePart('yyyy', [Datum])=" & [AJahr]) AS JahresSumme
FROM 14_Tbl_Verbrauchsmengen
GROUP BY DatePart("yyyy",[Datum]), Year([Datum]), [14_Tbl_Verbrauchsmengen].fk_bezeichnung
ORDER BY DatePart("yyyy",[Datum])
Gruß Oma
Danke, Oma, klappt prima !
Hab aber eine Frage zu Verständnis dazu: wofür ist dieser (Rot markierte) Codeteil ?:
SELECT DatePart("yyyy",[Datum]) AS AJahr, Year([Datum]) AS BJahr, [14_Tbl_Verbrauchsmengen].fk_bezeichnung AS Bez,....
Das Jahr wird doch schon durch den ersten Teil der Anweisung 'gebildet'.
Hallo,
jo, kannst Year([Datum]) AS BJahr natürlich entfernen.
Ich wollte insgesamt DatePart("yyyy", [Datum]) mit Year([Datum]) ersetzen (muss aber nicht sein)
Feld Datum solltest du aber unbedingt umbenennen! (Reservierter Ausdruck und Funktion in Access)
Gruß Oma
Danke für die Info, danke für den Tip :)