![]() |
Datenbankindex in Listbox
Wie krieg ich das hin:
Es existiert eine Datenbanktabelle, der Sekundärindex ist auf 'Name' festgelegt. Nachdem ich in ein Editfeld den Beginn des gesuchten Namens (z.B. Mey für Meyerhofer) eingegeben habe, wäre es schön, wenn in der Listbox die Datenbanktabelle eingelesen wird mit den ersten Namen der Übereinstimmung. Am tollsten wäre eine Steigerung vom ersten Buchstaben an. Wie zum Beispiel: Edit: Listbox: M Malden u. folgende Me Meckenheim u. folgende Mey Meyberg u. folgende Meye Meyel u. folgende Meyer Meyerbeer und folgende Meyerh Meyerhofer In der Listbox müßte man den gesuchten Namen markieren und mit Enter übernehmen können. Würde das jemand verständlich erklären können? Danke. Hans-Peter |
Re: Datenbankindex in Listbox
Hai Hans-Peter,
ein Weg wäre wohl nach jedem KeyUp in deinem Editfeld eine neue Abfrage der Tabelle zu machen.
Delphi-Quellcode:
Du kannst allerdings kein DBListBox nehmen. Du musst eine DBLookUpListBox verwenden.
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState); begin Query1.Close; Query1.SQL.Text := 'SELECT * FROM adressen WHERE (name LIKE ' + QuotedStr (Edit1.Text + '%') + ') ORDER BY name'; Query1.Open; end; Dort als: ListSource das DataSet das mit Query1 verbunden ist ListFieled ist name KeyField würde ich auf das ID-Feld des Datensatzes stellen. Das sollte Dir eigentlich helfen. Bei mir geht es so (allerdings habe ich einen SQL-Server). |
Re: Datenbankindex in Listbox
[quote="hans-peter"]Am tollsten wäre eine Steigerung vom ersten Buchstaben an. Wie zum Beispiel:
Edit: Listbox: M Malden u. folgende Me Meckenheim u. folgende...[/code] Hallo, wenn mich nicht alles täuscht beherrscht das die TrxDBLookUpCombo Komponente aus der RX-Library. Gruss, Tom |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 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