Das kann so nicht klappen, da die wesentliche Arbeitsgrundlage der
Query das in ihrer "Text"-Eigenschaft hinterlegte
SQL-Statement ist. Wenn dort nicht schon ein Parameter an sinnvoller Stelle angelegt ist (mit: "
arametername" - ohne Anführungszeichen), dann würde auf Deine Art einfach ein Parameter hinten "angehangen" werden, was ein ungültiges
SQL-Statement ergeben würde.
Versuch es mal so:
Delphi-Quellcode:
Query.Close;
Query.SQL.Clear;
//löschen des alten SQL-Statements
Query.SQL.Add('
SELECT * -- oder Feldliste angeben ');
Query.SQL.Add('
FROM DetaillTabelle A ');
Query.SQL.Add('
INNER JOIN MasterTabelle B ');
Query.SQL.Add('
ON B.'+KeyField.FieldName+'
= A.FremdSchlüsselFeld');
Query.SQL.Add('
WHERE DeineBedingung ');
Query.Open;
"DetaillTabelle", "Mastertabelle" und "FremdSchlüsselfeld" mußt Du natürlich durch die richtigen Tabellen- bzw. Feldnamen ersetzen, ebenso wie "DeineBedingung" durch eine sinnvolle Einschränkung zu ersetzen oder ganz wegzulassen ist.
Gruß