Entwickler-Ecke

Datenbanken - DBGRid Abfrage


fcg - Di 22.10.02 09:47
Titel: DBGRid Abfrage
moin leute

ich habe ein DBGRid, welches über eine Table Komponete eine Datenbank anzeigt (paradox7). dann habe ich ein DBEditfeld in das ich ein namen angeben kann. wenn ich dann auf einen button klicke, möchte ich, das nach dem string in dem dbeditfeld gesucht wird, und der übereinstimmende datensatz in einer dblistbox angezeicgt wird.

hoffentlich habt's verstanden :-)

<thanks>


LCS - Di 22.10.02 11:21
Titel: Re: DBGRid Abfrage
fcg hat folgendes geschrieben:
moin leute

Mahlzeit!

fcg hat folgendes geschrieben:

hoffentlich habt's verstanden :-)

Dass du in deiner Tabelle nach einem Datensatz suchen willst, hab ich verstanden. :D Nur was du mit der DBListBox erreichen willst, kann ich mir nicht so recht vorstellen.

Auch zum Eingeben des Suchbegriffs ist ein DBEdit eigentlich ungeeignet, weil es ja direkt an der Tabelle hängt, und somit immer einen aktiven Datensatz erfordert um was eingeben zu können.

Zum Suchen in einer Datenmenge gibt es ne ganze Menge Möglichkeiten. Zum Suchen eines Datensatzes mit einem bestimmten Indexwert kannst du FindKey oder FindNearest verwenden.

Quelltext
1:
Table1.FindKey([Edit1.Text]);                    

Sucht nach dem Datensatz mit dem Schlüsselwert in Edit1.

Wenn du in nicht indizierten Feldern suchen willst, kannst du Locate oder die Filter-Eigenschaft verwenden.

Quelltext
1:
2:
Table1.Filter := 'Feldname = ' + #39 + Edit1.Text + '*' + #39;
Table1.Filtered := True;

Sucht alle Datensätze bei denen in Feldname der Inhalt aus Edit1 steht.

Gruss Lothar


fcg - Di 22.10.02 18:49

danke erstmal.

die DBListox war eigentlich nur zur Ausgabe des gefunden datensatzes gedacht

wenn man z.B Datenbank mit Name und Vorname hat, nach einem Namen sucht und das dann der name und der dazugehörige nachname in der listbox angezeigt werden. kann natürrilcih aus was anderes x-beliebiges sein.

cu