Hi,
beim Kunden gibt es eine Navision-
DB auf die ich mit meinem Programm zugreifen will. Gut, zum Testen der ganzen
sql-statements habe ich auf meinem Rechner
Access benutzt.
Wir haben dann einen ConnectionString zusammengebastelt für Navision und mit dem AdoQuery-Tool kann man ja auch testen, ob mit diesem String erfolgreich auf die
DB zugegriffen werden kann. Dieser Test sagt erfolgreich.
Nun soll er ein
SQL-statement absetzen. Das ganze sieht bei mir dann so aus:
Delphi-Quellcode:
Form2.AdoQuery1.Active:= false;
Form2.AdoQuery1.SQL.Clear;
//Suchbegriff enthält Leerzeichen deshalb in Klammern
sql1:='
Select * from '+AdoTab1+'
where ['+Suchbegriff1+'
] =''
'+FieldValue+'
''
';
Form2.AdoQuery1.SQL.Add(sql1);
try
Form2.AdoQuery1.Active:= true;
except
on E:
Exception do
Showmessage(e.
message);
end;
Wenn ich dies nun mit meinem
Access durchlaufen lasse, benutzt er das
SQL-statment korrekt, "SELECT * FROM 25 WHERE [Barcode Value] = '123'", lassen wir dies aber mit der Navision-
DB laufen macht er aus dem korrekten Statement das: "SELECT * FROM 25 <<???>> WHERE [Barcode Value] = '123'". Gut, damit wüsste ich als
DB vielleicht auch nichts mit anzufangen.
Die Frage nun, warum fügt er das ein -> <<???>> ein? Irgendjemand eine Idee, wo ich noch suchen könnte? Für jeden Tip dankbar.
Ich hab dann auch nur mal ein AdoConnection eingefügt und getestet ob open klappt, das macht er einwandfrei, also kann er auf die
DB wohl zugreifen und sich mit ihr verbinden.