Tja, das funktioniert zwar jetzt endlich.
Aber da sind dann nur die Personen drin, die auch in der Pers_b_Kath1 einen Eintrag haben.
Eigentlich ist das aber so eingestellt, dass alle Personen angezeigt werden sollen. Geht aber nicht.
Da sieht man mal wieder wie sch*****
Access ist.
Ich habe jetzt drei Abfragen realisiert, die alle aufeinander aufbauen. Dann kann man das auch
Access beibringen. Andere (richtige Datenbanken) können das in einer Abfrage.
Wie auch immer, probiers doch mal aus...
Abfrage "view_MaxDatum"
SQL-Code:
SELECT Pers_b_Kath1.Pers_ID,
MAX(Kathegorie1.Kath1_Datum) AS [Max von Kath1_Datum]
FROM Kathegorie1
INNER JOIN Pers_b_Kath1
ON Kathegorie1.Kath1_ID = Pers_b_Kath1.Kath1_ID
GROUP BY Pers_b_Kath1.Pers_ID;
Abfrage "view_MaxDatumInfos"
SQL-Code:
SELECT view_MaxDatum.Pers_ID,
view_MaxDatum.[Max von Kath1_Datum],
Pers_b_Kath1.Pers_b_Kath1_Wertung,
Pers_b_Kath1.Pers_b_Kath1_Bemerkung
FROM (view_MaxDatum
INNER JOIN Kathegorie1
ON view_MaxDatum.[Max von Kath1_Datum] = Kathegorie1.Kath1_Datum)
INNER JOIN Pers_b_Kath1
ON (Pers_b_Kath1.Pers_ID = view_MaxDatum.Pers_ID)
AND (Kathegorie1.Kath1_ID = Pers_b_Kath1.Kath1_ID);
Eigentliche Abfrage
SQL-Code:
SELECT Person.Pers_ID,
Person.Pers_Name,
view_MaxDatumInfos.[Max von Kath1_Datum],
view_MaxDatumInfos.Pers_b_Kath1_Wertung,
view_MaxDatumInfos.Pers_b_Kath1_Bemerkung
FROM Person
LEFT JOIN view_MaxDatumInfos
ON Person.Pers_ID = view_MaxDatumInfos.Pers_ID
ORDER BY Person.Pers_Name;
Da weden dann alle Personen ausgegeben, mit den jeweils letzten Informationen aus Pers_b_Kath1.
MfG
Thorsten