Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: ThomM am Juli 09, 2010, 07:18:05

Titel: Abfrage mit Summenbildung
Beitrag von: ThomM am Juli 09, 2010, 07:18:05
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?
Titel: Re: Abfrage mit Summenbildung
Beitrag von: oma am Juli 09, 2010, 16:23:31
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
Titel: Re: Abfrage mit Summenbildung
Beitrag von: ThomM am Juli 12, 2010, 06:42:25
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'.
Titel: Re: Abfrage mit Summenbildung
Beitrag von: oma am Juli 12, 2010, 11:19:48
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
Titel: Re: Abfrage mit Summenbildung
Beitrag von: ThomM am Juli 15, 2010, 08:50:31
Danke für die Info, danke für den Tip :)