Entwickler-Ecke
Datenbanken - Platzhalter in einer ADOTable?
Dave_Bowman - Mi 20.10.04 19:37
Titel: Platzhalter in einer ADOTable?
Hallo allerseits,
ich greife mittels ADOConnection, ADOTable und Datasource auf eine Access-DB (z.B. Adressen) zu und zeige alle Sätze in einem Grid. Funktioniert prima. Jetzt möchte ich einen String in ein Textfeld eingeben und nach diesem String in einem Feld suchen, eine Datenmenge also herstellen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| DS_Klienten.DataSet.Filtered := false; if txtSucheKlient.Text <> '' then begin DS_Klienten.DataSet.Filter := 'Firma = ' + QuotedStr(txtSucheKlient.Text); DS_Klienten.DataSet.Filtered := true; end |
Das ganze allerdings funktioniert nur, wenn ich die komplette Firma reinschreibe, ich will aber mit Platzhaltern arbeiten. Die funktionieren aber nicht (z.B. ...Filter := 'Firma = ' + QuotedStr('*' + txtSucheKlient.Text + '*');). Wieso nicht?
Als Alternative fällt mir jetzt nur ein, nicht mit einer Table sondern mit 'nem Query zu arbeiten. Aber da müßte ich jetzt doch einiges umstellen, und wer weiß, was dann wieder beim Query nicht funktioniert.
Kann mir jemand helfen? Vielen Dank schonmal vorab.
Dave
MSCH - Mi 20.10.04 19:52
versuchs mal statt mit "*" mit "%" (Prozentzeichen).
grez
msch
smiegel - Mi 20.10.04 19:53
Hallo,
wenn folgendes
Delphi-Quelltext
1:
| DS_Klienten.DataSet.Filter := 'Firma LIKE ' + QuotedStr('*'+txtSucheKlient.Text+'*'); |
nicht funktioniert, dann kommst Du um eine Query nicht herum.
@MSCH: Das ist eine Access DB. Und da ist das Jokerzeichen "*".
Dave_Bowman - Mi 20.10.04 21:31
Großartig, Smiegel, das ist es. Vielen Dank, damit funktioniert es prima! Danke auch an MSCH! Bis dann ...
Dave
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!