Klaus D. - So 14.12.03 11:40
Titel: ADS-Query und "ADSSetFilter
Morgen Morgen
1.
Delphi-Quelltext
1: 2: 3:
| frmDataMod.SQL_Typenschild.Filtered:=false; frmDataMod.SQL_Typenschild.Filter := 'MOTORART = ' + QuotedStr(SuchCombobox1.Text); frmDataMod.SQL_Typenschild.Filtered:=True |
funktioniert Problemlos mit der ADSQury
2.
Delphi-Quelltext
1:
| frmDataMod.SQL_Typenschild.ADSSETFilter ( 'Motorart ='+#39+ SuchCombobox1.Text+#39 ); |
funktioniert nur bei ADSTable
mein Problem ist, daß ich eigentlich Code2 nutzen möchte, von wegen der Schreibarbeit.geht aber nicht...WARUM?
MfG Klaus
Moderiert von
Peter Lustig: Code- durch Delphi-Tags ersetzt
Klabautermann - So 14.12.03 14:57
Hallo,
also meine Advantage Hilfe sagt, dass diese Methode nur für Tables nicht für Querrys vorhanden ist (Siehe: Advantage Extendet Methods). Allerdings ist die auch noch für die 6.2er Version. Kann sein dass die das mitlerweile ausgedehnt haben, dann hätte ich aber keine Erklährung mehr wieso es nicht geht ;).
Wenn du aber nur Tipparbeit sparen willst, dann schreibe dir doch einfach eine Funktion zum Filter setzen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function SetFilter(aDataSet : tDataset; aFilter : string) : Boolean; begin aDataset.Filtered := FALSE; aDataSet.Filter := aFilter; try aDataSet.Filtered := true; result := true; except result := False end; end; |
Das funktioniert mit allen Datenbanken, die dir von tDataset Abgeleiterte Komponenten zur verfügung stellen, und das sind die allermeisten.
Also ersten Parameter übergibst du dein Tabellen/Query Objekt und als zeiten den Filter String.
Gruß
Klabautermann