Hallo!
ich nutze eine TQuery, die, wenn ich ein Datumsfeld filtere (Eigenschaft Filter = ...), keinen Treffer bringt, obwohl der Datensatz nachweislich da ist. Es handelt sich um ein Datumsfeld.
Ich verwendet Informix. Der Feldtyp ist DATE, zum Arbeiten mit den
Query-FieldValues in Delphi verwende ich den Typ TDateTime, womit ich nie Probleme hatte. Jetzt will ich ein Datumsfeld filtern. Nur krieg ichs nicht hin!
Folgende Varianten habe ich probiert und hab dabei folgendes beobachtet:
z.B.
Delphi-Quellcode:
procedure test;
var dateTimeVar: TDateTime;
begin
dateTimeVar = encodeDate(2001,1,1);
qry.Filter:= 'datum = ''' + dateToStr(dateTimeVar) + '''';
// der Filter lautet: >datum = '01.01.2001'<
// kommt zwar kein Fehler, aber er findet auch keinen Datensatz.
end;
Weitere Variante:
Delphi-Quellcode:
procedure test;
var dateTimeVar: TDateTime;
begin
dateTimeVar = encodeDate(2001,1,1);
qry.Filter:= 'datum = ' + floattostr(dateTimeVar);
// der Filter lautet: >datum = 36892<
// Fehlermeldung: >'36892' ist kein gültiges Datum.<
end;
Ja wie will TQuery den Filter denn nun serviert bekommen!?!
Vielleicht seh ich auch nur den Wald vor Bäumen nicht.
Viele Grüße.