Access kennt
IMHO keine Loops im
SQL Code. Daher wird es nicht ohne Hilfstabellen oder zusätzlichen VBA Code gehen. Bummis Lösung ist super, wenn du vor hast dynamische Zeiträume auszuwerten.
Falls Du immer nur ganze Monate kumulieren möchtest, dann reicht dir eine einfache Hilfstabelle mit einem Integer Feld und 12 Datensätzen (1..12).
Der
SQL Code würde dann so aussehen:
Code:
SELECT
HT.Monat AS mm
,Sum(ISNULL(Betrag,0)) AS Total
FROM
tbl_Rechkopf RK
RIGHT OUTER JOIN Hilfstabelle HT
ON HT.Monat = Month(RK.Datum)
OR Month(RK.Datum) IS NULL
GROUP BY
HT.MONAT
,Year(RK.Datum)
HAVING
(Year(RK.Datum)=2013)
OR RK.Datum IS NULL --- damit auch Monate selektiert werden, in denen keine Daten in RK vorhanden sind
ORDER BY
HT.Monat
Untetestet. Habe nur einen
MSSQL Server zum "spieien" hier.
Access SQL kann etwas abweichen.