![]() |
Hi X-Dragon,
wenn es Dir also zwecks Einrichtung einer Fortschrittsanzeige lediglich um die Anzahl der Datensätze geht, also nicht um einen genauen ID-Wert, kannst Du doch wunderbar SELECT COUNT... (in Verbindung mit einer Query) verwenden. Diese Abfrage ist, auch wenn die entsprechende Tabelle hunderttausende Datensätze enhält, überhaupt nicht zeitkritisch, da ja, wie gesagt, nur ein einziger Datensätz zurückgeliefert wird. gruß, harrybo |
Ok, danke! Werde es morgen gleich mal ausprobieren.
|
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:
[edit]
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]); 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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz