TQuery
interpretiert das :
wenn ParamCheck = true
.
Setzen Sie ParamCheck:= false
und setzen Sie dann SQL.Text
.
Jetzt funktioniert es.
Kombinieren von Spalten- und Tabellennamen und -parametern
Wenn Sie unbedingt den Pfad der Verwendung von Tabellen- / Spaltennamen mit Doppelpunkten durchgehen müssen und trotzdem an anderer Stelle Parameter in Ihrer Abfrage verwenden möchten, können Sie den Tabellen- / Spaltennamen mit einem Makro ausfüllen.
Dies erfordert jedoch FireDac.
Ich empfehle Ihnen, sehr vorsichtig damit zu sein, denn im Gegensatz zu Parametern sind Makros nicht gegen SQL-Injection sicher!
Siehe auch: Ссылка
Ich habe Lösungen in anderen Sprachen geprüft. Aber Johans Antwort scheint die richtige zu sein, aber die eine hat hier funktioniert auch in Delphi / Access case:
Wenn Sie Backticks um Ihren Tabellennamen herum verwenden, sollte dies durch die Param-Prüfung ignoriert werden.
%Vor%Dieser kann auch mit Parametern in der Abfragezeichenfolge kombiniert werden.
Tags und Links delphi ms-access query-string query-parameters