Hallo,
leider stehe ich erneut auf dem Schlauch.
Ich habe (in Access 2010) eine "tblA", in der Zugänge und Abgänge eines Lagers mit dem jeweiligen Datum gespeichert werden.
In der "qryAnzahl_Zugang_pro_Jahr" werden die Anzahl der Zugänge pro Jahr und in der
"qryAnzahl_Abgang_pro_Jahr" die Anzahl der Abgänge pro Jahr ermittelt.
Nun möchte ich eine Abfrage erstellen, in der gruppiert nach den Jahren die Zugänge und Abgänge jeweils nach Lager gelistet werden, es soll etwa so wie in dem angehängten Bild aussehen.
Die zusammenfassende Abfrage ,,qryBewegung_pro_Jahr" listet nun alles auf, gruppiert aber leider nicht zutreffend, so daß eine Liste mit 36 Zeilen herauskommt (statt 9).
Mir ist bewusst, dass ich es nicht zutreffend aufgebaut habe, aber ich bekomme es einfach nicht hin, dabei ist es vermutlich recht einfach.
Könnte mir bitte jemand einen Tip geben, wie ich diese Auflistung erreichen kann ?
Vielen Dank und Grüße,
Jochen
Erstelle zunächst eine Vereinigungsabfrage (der Kürze wegen habe ich sie Q getauft).
SELECT LAGER,
VDATUM AS DATUM,
'Abgang' AS Art,
1 AS MENGE
FROM tbl_A
UNION ALL
SELECT LAGER,
KDATUM,
'Zugang',
1
FROM tbl_A;
Auf Basis dieser Abfrage kommst Du dann mit einer Kreuztabellenabfrage zum Wunschergebnis.
TRANSFORM CLng(Nz(Sum(Q.MENGE), 0)) AS X
SELECT Year(Q.DATUM) AS Jahr,
Q.LAGER
FROM Q
GROUP BY Year(Q.DATUM),
Q.LAGER
PIVOT Q.Art;
Wenn Du auf die 0-Werte verzichten kannst, genügt auch der einfache Summenausdruck Sum(Q.MENGE) in der Transform-Klausel.
Das hat geklappt ! Vielen Dank für Deine schnelle Unterstützung !
Jochen