![]() |
Datenbank: BDE • Version: 5 • Zugriff über: TurboDB
Schnellsuche in DB, wie realisieren?
Ich habe eine Datenbank mit einer Tabelle bei der das Feld Position indiziert ist. Die Tabelle wird in einem DBGrid angezeigt und die Sortierung muss so bestehen bleiben.
Nun möchte ich aber in dieser Tabelle in einem anderen Feld (Name) suchen. Und zwar in dem ich in ein Edit Feld das gesuchte eintippe und immer wenn ich die Eingabetaste drücke soll er ein vorkommen finden und im DBGrid markieren. Wenn das schon geht wäre gut. Besser wäre wenn nicht nur am Anfang des Feldes gesucht wird, sondern auch Teilstrings innerhalb der Feldes Name. Bei Eingabe von "eier" soll also auch "Meier" gefunden werden. Kann mir bitte jemand sagen wie ich so etwas realisieren kann? |
AW: Schnellsuche in DB, wie realisieren?
Mir scheint, Du suchst
![]() |
AW: Schnellsuche in DB, wie realisieren?
Mit Locate finde ich das erste vorkommen. Und wie soll ich dann das nächste vorkommen des Suchstrings finden?
|
AW: Schnellsuche in DB, wie realisieren?
|
AW: Schnellsuche in DB, wie realisieren?
Aber es gilt trotzdem TurboDB != BDE !
|
AW: Schnellsuche in DB, wie realisieren?
Das ist mir schon klar :) Irgendwann werde ich wechseln :oops:
Konnte die Schnellsuche realisieren. Da es sich immer nur um 10-40 Datensätze handelt ist diese Methode OK.
Delphi-Quellcode:
Noch Verbesserungsvorschläge ?
procedure TForm2.RzEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); var i : Integer; begin if key = vk_return then begin if rzedit2.Text <> '' then begin datamodule1.TourTable1.DisableControls; for i := AktSIndex to datamodule1.TourTable1.RecordCount -1 do begin datamodule1.TourTable1.RecordNo := i; if pos(trim(lowercase(rzedit2.Text)),lowercase(datamodule1.TourTable1GSName.AsString)) <> 0 then begin datamodule1.TourTable1.EnableControls; JvDBUltimGrid2.SelectedIndex := datamodule1.TourTable1.RecordNo; aktsindex := datamodule1.TourTable1.RecordNo+1; exit; end else begin aktsindex := 1; end; end; datamodule1.TourTable1.EnableControls; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 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