Autor Beitrag
Dave_Bowman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: Mi 20.10.04 19:37 
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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Mi 20.10.04 19:52 
versuchs mal statt mit "*" mit "%" (Prozentzeichen).
grez
msch

_________________
ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: Mi 20.10.04 19:53 
Hallo,

wenn folgendes
ausblenden 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 "*".

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
Dave_Bowman Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 30



BeitragVerfasst: 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