Hi,
fügt das Add vor jedem Teilstring des
SQL-Statements automatisch ein Leerzeichen ein? Anscheinend schon, sonst käme der Fehler früher. Aber das hier macht mich stutzig :
Code:
begin
case idx of
0 : begin
SQL.Add('SELECT * FROM Kunden.DBF');
SQL.Add('WHERE KDNR = '+kd);
//
SQL.Add('WHERE UPPER(N1) = UPPER(''%' + sstr + '%'')');
//
SQL.Add('OR KDNR = '+sstr); // HIER ist das Problem (naja im nächsten Punkt nochmal)
Das ist die erste Stelle im gesamten Programmteil, in der am Schluß des Teilstrings eine Variable angehängt wird, alles andere sind Konstanten. Ich könnte mir vorstellen, daß das eine Ausnahme ist. Falls dem so ist, so würde der zusammengebaute
SQL-string dann so aussehen (XYZ steht für sstr):
Code:
... +
OR KDNR = XYZOR UPPER(N2)
Was soll Dein Programm jetzt aber mit XYZOR anfangen
Gibts so was in Deiner
DB ?
Das ist jetzt zwar nur eine Vermutung, aber das mit dem ADD hab ich Dir ja gesagt, mir gefällt es jedenfalls nicht so richtig. Ändere die Zeile mal so ab
und lasse den Rest wie er ist, dann mach die Kommentare wieder weg. und sag Bescheid, was ist.
Gruß
Hansa
P.S.: sehe gerade noch, ein ähnliches Konstrukt ist da etwas weiter oben mit "kd". Da mußt Du natürlich dasselbe machen, falls das tatsächlich der Fehler ist