Autor Beitrag
Meillo
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 97

Debian GNU/Linux
PHP, Ruby(-Newbie)
BeitragVerfasst: Di 16.11.04 14:07 
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:

_________________
Dass es in FORTRAN keine strukturierten IF-, REPEAT...UNTIL- oder CASE- Statements gibt, braucht einen richtigen Programmierer nicht zu sorgen.
Nebenbei, man kann sie nötigenfalls durch zugewiesene GOTOs simulieren.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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":

ausblenden Delphi-Quelltext
1:
not (Substring(Titel,1,1in ('A','B','C','D'...))					


Cu,
Udontknow
Meillo Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 97

Debian GNU/Linux
PHP, Ruby(-Newbie)
BeitragVerfasst: 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:
ausblenden Quelltext
1:
'not (substring(Titel,1,1)) in ('+quotedstr('a')+','+quotedstr('b')+','+.....					

gibts da was zum ' maskieren (wie in PHP)?

_________________
Dass es in FORTRAN keine strukturierten IF-, REPEAT...UNTIL- oder CASE- Statements gibt, braucht einen richtigen Programmierer nicht zu sorgen.
Nebenbei, man kann sie nötigenfalls durch zugewiesene GOTOs simulieren.
Meillo Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 97

Debian GNU/Linux
PHP, Ruby(-Newbie)
BeitragVerfasst: 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?

_________________
Dass es in FORTRAN keine strukturierten IF-, REPEAT...UNTIL- oder CASE- Statements gibt, braucht einen richtigen Programmierer nicht zu sorgen.
Nebenbei, man kann sie nötigenfalls durch zugewiesene GOTOs simulieren.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mi 17.11.04 11:52 
Merkwürdig...

Nun, das sieht natürlich furchtbar aus, aber es könnte klappen:

ausblenden Delphi-Quelltext
1:
(Upper(Titel) like 'A%'or  (Upper(Titel) like 'B%') (Upper(Titel) like 'C%')...					


Cu,
Udontknow