Hallo uli38,
eine Schleife mit Base geht meines Wissens nicht.
Zu Deiner Aufgabenstellung würde ich folgende Lösung verfolgen:
1) Hinzufügen einer laufenden Nummer für jedes Ablesedatum einer ZählerID und Speichern der Abfrage als View (rechte Maustaste auf die Abfrage >> "als Ansicht erstellen")
2) Abfragen des Views. Neben dem aktuellen Zählerstand lässt man sich nun den Stand vom letzten Ablesedatum des Zählers anzeigen, indem man anhand der laufenden Nummer den Datensatz mit dem letzten Ablesedatum für den Zähler sucht
3) Letztendlich bildet man die Differenz zwischen dem aktuellen Zählerstand und dem daneben gelisteten Stand des letzten Ablesens und erhält somit den Verbrauch
Beispiel:
die Ausgangstabelle "Tab_Zähler"

- Tab_Zähler.jpg (13.59 KiB) 799 mal betrachtet
Aus folgender Abfrage wird ein View "Tab_Zähler_V" erstellt
Code: Alles auswählen
SELECT
( SELECT COUNT( "Wert" ) FROM "Tab_Zähler" AS "x" WHERE "x"."Ablesedatum" >= "Tab_Zähler"."Ablesedatum" AND "x"."Zähler" = "Tab_Zähler"."Zähler" ) AS "lfd_NR",
"Zähler",
"Wert",
"Ablesedatum"
FROM
"Tab_Zähler"
...jetzt wird der View abgefragt
Code: Alles auswählen
SELECT
"lfd_NR",
"Zähler",
"Ablesedatum",
"Wert" as "Zählerstand",
( SELECT "Wert" FROM "Tab_Zähler_V" AS "x" WHERE "x"."lfd_NR" = "Tab_Zähler_V"."lfd_NR" + 1 AND "x"."Zähler" = "Tab_Zähler_V"."Zähler" ) AS "letzter_Zählerstand",
"Wert" - ( SELECT "Wert" FROM "Tab_Zähler_V" AS "x" WHERE "x"."lfd_NR" = "Tab_Zähler_V"."lfd_NR" + 1 AND "x"."Zähler" = "Tab_Zähler_V"."Zähler" ) AS "Verbrauch"
FROM
"Tab_Zähler_V"
order by "Zähler", "Ablesedatum" desc
mit folgendem Ergebnis:

- Tab_Zähler_Ergebnis.jpg (19.77 KiB) 795 mal betrachtet
Der Vorteil ist, dass Du den Verbrauch fortlaufend auswerten kannst und nicht immer das jeweilige Ablesedatum als Parameter angeben musst.
Gruß Barlee