Hi,
ich benutze ein TClientDataSet und die beiden Properties Filter und Filtered um leere Datensätze aus einer lokalen (embedded) Firebird 2.x Tabelle wegzufiltern. Zumindest versuche ich dies krampfhaft.
Vorneweg, ich kann dies nicht in das entsprechende Select Statement aufnehmen, da ich diese 'leeren' Datensätze für Lookup-Felder benötige und genauso deshalb aufgenommen habe.
Die Tabelle oder besser das Resultset der Abfrage sieht so aus:
Delphi-Quellcode:
LANGU GROUPNO DESCRIPTION
------------------------------
DE <- leerer Datensatz
DE 0001 Allgemein
DE 0002 Endkunde
...
Ich habe hier schon folgendes getestet:
Delphi-Quellcode:
ClientDataset1.Filter := 'GROUPNO<>'' ''';
ClientDataset1.Filter := 'GROUPNO<>''''';
ClientDataset1.Filter := 'GROUPNO<>""';
ClientDataset1.Filter := 'GROUPNO <> ''''';
ClientDataset1.Filter := 'GROUPNO <> ''''' or GROUPNO is not null'';
Aber nichts half hier! Ich bekam keine Fehlermeldung oder dergleichen. Es werden nach wie vor alle Datensätze inklusives des leeren Datansatzes angezeigt. Der Datensatz mit GROUPNO = Blank soll temporär verschwinden.
Irgendwelche weiter Möglichkeiten, die ich noch prüfen könnte? Danke!