Entwickler-Ecke
Datenbanken - Durchsuchen der Datenbank ...
Kaweb - Sa 29.03.03 18:24
Titel: Durchsuchen der Datenbank ...
hallo,
ich verwende locate zum durchsuchen meiner datenbank. nur wird nicht alles gefunden. ich habe in einem Feld Vorname und Nachname stehen. "Fritz Müller". Wenn ich jetzt nach "Müller" suche, findet Locate nichts?!
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure Tmain_form.SearchInDatabase; var options: TLocateOptions; begin Options := [loCaseInsensitive,loPartialKey]; with Table1 do begin if not Locate('pvornachname',search_form.suchen.Text,Options) then if not Locate('panschrift',search_form.suchen.Text,Options) then if not Locate('pplz',search_form.suchen.Text,Options) then if not Locate('port',search_form.suchen.Text,Options) then if not Locate('gfirma',search_form.suchen.Text,Options) then if not Locate('gabteilung',search_form.suchen.Text,Options) then if not Locate('ganschrift',search_form.suchen.Text,Options) then if not Locate('gplz',search_form.suchen.Text,Options) then if not Locate('gort',search_form.suchen.Text,Options) then end; end; |
im generellen ist es so, sobald etwas mit einem leerzeichen getrennt wird, findet locate nur das vor dem leerzeichen.
währe nett, wenn ihr mir helfen könntet.
mfg
Andreas alias Kaweb
UGrohne - Sa 29.03.03 18:29
Also ich bin mir nicht ganz sicher, denn Locate setze ich nur intern ein, aber versuch mal vor den Searchstring ein % zu setzen, vielleicht gehts dann besser. Ansonsten geb ich Dir den Tipp, das Ganze über ein SQL-Query zu machen, ist viel komfortabler, auch auf die Suchfunktionen bezogen und Du hast gleich alle Ergebnis in einem Query
Kaweb - Sa 29.03.03 18:38
hi,
das % bewirkt auch nichts. wenn ich ein SQL-Query verwende, brauch ich wieder die BDE. Ich arbeite mit der EasyTable Komponente. Gibts denn keine andere möglichkeit eine Standartdatenbank zu durchsuchen?
mfg
Andreas
UGrohne - Sa 29.03.03 18:39
| Kaweb hat folgendes geschrieben: |
| das % bewirkt auch nichts. wenn ich ein SQL-Query verwende, brauch ich wieder die BDE. Ich arbeite mit der EasyTable Komponente. Gibts denn keine andere möglichkeit eine Standartdatenbank zu durchsuchen? |
Was meinst Du mit Standard-Datenbank? Ich kenn EasyTable net, für was für ne Datenbank sind die?
grayfox - Sa 29.03.03 20:16
hallo andi!
warum richtest in deiner tabelle denn nicht ein feld für den vornamen und eins für den zunamen ein? dann hättest du viele probleme von anfang an nicht! ;)
bei locate heisst der platzhalter '*' und nicht '%', das gibts nur bei SQL.
ausserdem wird der '*' nur am wortende berücksichtigt, am wortanfang klappts nicht
mfg, stefan
Kaweb - So 30.03.03 11:49
also mit * gehts leider auch net :cry: ich glaub ich werde das feld "Vor- / Nachname" in zwei Felder aufteilen.
@UGrohne:
Hier [
http://www.aidaim.com/products/delphi.php#EzT] steht, was EasyTable ist. :idea:
mfg
Andreas
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!