Ich bin jetzt gerade dabei den Zugriff auf die
DB komplett auf
SQL umzustellen, allerdings funktioniert das noch nicht so ganz.
Wie muss ich das denn schreiben, das er die DBF-Datenbank auch als solche erkennt?(also beim Select Count beschwert er sich, das er mit DBF nichts anfangen kann)
Und irgendwo soll da ' zuviel oder zu wenig sein, oder so
.
Code:
SQL.Add([color=#000080]'SELECT COUNT (*) FROM Kunden.DBF'[/color]);
ExecSQL;
anz := Round([color=#000080]1[/color]/([color=#000080]100[/color]/(qry.Fields[[color=#000080]0[/color]].AsInteger)));
SQL.Clear;
SQL.Add([color=#000080]'SELECT KDNR, N1, N2, N3, PLZ, ORT'[/color]);
SQL.Add([color=#000080]'FROM Kunden.DBF'[/color]);
SQL.Add([color=#000080]'WHERE UPPER(N1) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
SQL.Add([color=#000080]'OR KDNR LIKE '[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]'');
[/color]
SQL.Add([color=#000080]'OR UPPER(N2) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
SQL.Add([color=#000080]'OR UPPER(N3) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
SQL.Add([color=#000080]'OR PLZ LIKE '[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]'');
[/color]
SQL.Add([color=#000080]'OR UPPER(ORT) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
[edit]
hab schon mal ein Problem gelöst, eins der
DB-Felder(PLZ) hat ein numerisches-Format und will sich deshalb nicht mit einem String verglechen lassen
Fehlt nur noch das COUNT ...
[edit2]
Ok, hat sich erledigt, ich verzichte auf das Count.