Autor Beitrag
Klaus D.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 63



BeitragVerfasst: So 14.12.03 11:40 
Morgen Morgen

1.
ausblenden 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.
ausblenden 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 user profile iconPeter Lustig: Code- durch Delphi-Tags ersetzt
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: 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:
ausblenden 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