Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankindex in Listbox (https://www.delphipraxis.net/5815-datenbankindex-listbox.html)

hans-peter 19. Jun 2003 22:49


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

Sharky 20. Jun 2003 07:04

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:
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;
Du kannst allerdings kein DBListBox nehmen. Du musst eine DBLookUpListBox verwenden.

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).

Jelly 20. Jun 2003 09:10

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