Manchmal hat man eine Liste mit Kunden und eine verknüpfte Tabelle mit jeweils einem Datum und einer Info (z. B. Kontostand). Nun möchte man den letzten Eintrag der verknüpften Tabelle zum Kunden erhalten. Diese Vorgehensweise ist hier beschrieben:
Inhaltsverzeichnis
Ausgangslage
Ich habe eine Tabelle „tblKunden“ mit einer Schlüsselspalte „IDKunde“ und dem Namen der Kunden:
tblKunden
--------------
IDKunde: INTEGER
VollerName: String
Weiters gibt es eine Tabelle „tblKontostand“, in der zu jedem Kunden zu verschiedenen Daten ein Kontostand hinterlegt ist:
tblKontostand
--------------
IDKontostand: INTEGER (eindeutiger Bezeichner)
IDKunde: INTEGER (verknüpftes Feld)
Datum: Datum des Kontostands
Kontostand: Höhe des Kontostands
Ziel
Ich versuche nun, eine Abfrage/Sicht zu erhalten, bei der ich die KundenID, den Kundenname und den Kontostand zum letztmöglichen Datum erhalte. Also pro Kunde die Zeile:
IDKunde, Vollername, Datum, Kontostand
Lösung
SELECT tblKunden.IDKunde, tblKunden.VollerName, tblKontostand.IDKontostand, tblKontostand.Datum, tblKontostand.Kontostand
FROM tblKunden INNER JOIN tblKontostand
ON tblKunden.IDKunde = tblKontostand.IDKunde
WHERE tblKontostand.Datum = DMAX("Datum", "tblKontostand", "IDKunde=" & tblKunden.IDKunde)
Quellen
- Link: http://www.wcm.at/forum/showthread.php/sql_abfragen_access_frage_zu_abfragen-242298.html?p=2453795