Das wird hier jetzt eher zur wilden Spekulation.
Zeig' uns doch einfach mal, wie der Filter so aussieht:
Delphi-Quellcode:
Form1.Table_Einsaetze_Event.Filtered := false;
Form1.Table_Einsaetze_Event.Filter := 'EINSATZNUMMER ='+ QuotedStr(Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').Text);
ShowMessage(QuotedStr(Form1.Table_Einsaetze_Event.Filter));
Form1.Table_Einsaetze_Event.Filtered := true;
Die Ausgabe von ShowMessage postest Du bitte hier.
Die Art der Ausgabe / Anzeige der Daten, ist für das Setzen von Filtern irrelevant.
Entscheidend ist die korrekte Syntax der Filter.
Bei "geht nicht" gehe ich davon aus, dass die Funktionalität des Filters nicht gegeben ist, er also fehlerhaft ist. Dies äußert sich für gewöhnlich durch eine
Exception. Gibt es eine? Wenn ja, dürften wir ihren Inhalt erfahren. Gibt es keine
Exception, dann bitte die Info, dass es keine
Exception gibt.
In dem Fall ist übrigens davon auszugehen, dass es die entsprechenden Sätze nicht gibt.
Von welchem Typ ist denn Einsatznummer? Integer? Dann wäre die sinnvollste Methode, den Filter zu setzen vermutlich:
Delphi-Quellcode:
Form1.Table_Einsaetze_Event.Filtered := false;
Form1.Table_Einsaetze_Event.Filter := Format('EINSATZNUMMER = %d', [Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').AsInteger]);
Form1.Table_Einsaetze_Event.Filtered := true;
Sollte Einsatznummer vom Typ String sein, dann wäre dashier eventuell die bessere Variante des Filtersetzens:
Delphi-Quellcode:
Form1.Table_Einsaetze_Event.Filtered := false;
Form1.Table_Einsaetze_Event.Filter := Format('EINSATZNUMMER = %s', [QuotedStr(Form1.Table_Einsaetze_Event.FieldByName('EINSATZNUMMER').AsString)]);
Form1.Table_Einsaetze_Event.Filtered := true;
Werden im DBGrid nach dem
Filtered := true;
eigentlich irgendwelche Daten angezeigt? Oder ist die Ergebnismenge leer oder ist sie unverändert?