Entwickler-Ecke
Datenbanken - [ClientDataSet.Filter] nicht Buchstabe
Meillo - Di 16.11.04 14:07
Titel: [ClientDataSet.Filter] nicht Buchstabe
Hi
ich suche einen Filter um aus einem ClientDataSet alle Datensätze herauszufiltern, bei denen der 'Titel' (ein Feld der DB) nicht mit einem Buchstaben beginnt.
Ich hab schon alles Mögliche probiert, allerdings erfolglos. :(
Vielleicht hat mir jemand von euch den passenden Filter.
Im Notfall muss ich halt jeden Buchstaben einzeln ausschließen - aber das ist ja nicht Sinn der Sache ... :roll:
Udontknow - Di 16.11.04 15:20
Hallo!
Die Buchstaben wirst du wohl einzeln angeben müssen, aber so schlimm ist´s nicht.
Siehe Delphi-Hilfe, "Datensätze beschränken":
Delphi-Quelltext
1:
| not (Substring(Titel,1,1) in ('A','B','C','D'...)) |
Cu,
Udontknow
Meillo - Di 16.11.04 17:29
jo, so hab ich's schon probiert (hab die entsprechende Stelle in der Hilfe auch gefunde)
allerdings hat er da irgendwo gemotzt....
... mom, ich glaube mir fällt gerade ein weshalb:
und zwar muss der Filter ja in '' gesetzt werden da es ja ein String ist, also habe ich für die Buchstaben die Fkt quotedstr() benutzt...
gibts da auch ne andere Möglichkeit, denn sonst:
Quelltext
1:
| 'not (substring(Titel,1,1)) in ('+quotedstr('a')+','+quotedstr('b')+','+..... |
gibts da was zum ' maskieren (wie in PHP)?
Meillo - Di 16.11.04 18:35
also ich habs jetzt so gemacht:
cds1.Filter := 'not (substring(lower(Titel),1,1) in ('+quotedstr('a')+','+quotedstr('b')+','+quotedstr('c')+','+quotedstr('d')+','+quotedstr('e')+','+quotedstr('f')+ ... +quotedstr('ü')+'))';... das Problem ist jetzt, dass nur die Einträge herausgefilter werden, die nur aus EINEM Buchstaben bestehen. Ganze Wörter werden nicht erkannt - wie wenn ich gar kein "substring()" drin hätte... :-S
... hat noch jemand ne Idee?
Udontknow - Mi 17.11.04 11:52
Merkwürdig...
Nun, das sieht natürlich furchtbar aus, aber es könnte klappen:
Delphi-Quelltext
1:
| (Upper(Titel) like 'A%') or (Upper(Titel) like 'B%') (Upper(Titel) like 'C%')... |
Cu,
Udontknow
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!