4 Dinge fallen mir auf:
die JOINs müssen mit runden Klammer richtig geschachtelt werden (speziell bei
Access):
FROM (TabelleA INNER JOIN TabelleB ON TabelleA.Feld=TabelleB.Feld) INNER JOIN TabelleC ON TabelleB.Feld=TabelleC.Feld
Strings werden in
SQL in
einfache Hochkommas eingeschlossen (auch wenn z.B.
Access doppelte Anführungszeichen zulässt)
SELECT
* FROM {verjointe Tabellen} ist immer etwas problematisch, da in 2 (oder mehr)
Tabellen gleiche Feldnamen auftreten können.
Manche
DBMS behelfen sich, indem sie den Tabellennamen dem Feldnamen vorneanfügen,
manche
DBMS produzieren eine Fehlermeldung.
Deshalb besser so:
SELECT TabelleA.*, TabelleB.Feld1, TabelleB.Feld2, ... FROM {verjointe Tabellen}
Query1.SQL.Add(...
Besser ist Query1.SQL
.Text := ... Dies erspart Query1.SQL.Clear;