Hallo zusammen,
habe mal noch ne Frage zum eingrenzen des Datumsbereichs in Verbindung mit der Uhrzeit Irgendwie fehlt mir da gerade die Logik. Ich möchte z.B. folgende Eingrenzung realisieren.
von Datum / Uhrzeit
bis Datum / Uhrzeit
in Zahlen
21.01.2010 / 17:00:00
23.01.2010 / 06:00:00
wenn ich diese Abfrage wie folgt realisiere, dann werden allerdings an allen Tagen die Zeiten die nicht im Zeitbereich liegen logischer Weise nicht gefunden. Wie aber bekomme ich das hin, das er am 22.01.2010 logischer Weise alle Zeiten von 00:00:00 bis 23:59:59 finden wird und nur am ersten und letzten Suchtag die Grenze setzt.
Delphi-Quellcode:
//Erste Variante die nicht geht
QryDatumsbereich.SQL.Text := 'SELECT * FROM '+Table+
' WHERE DATUM >= :ANFANG and DATUM <= :ENDE and UHRZEIT >= :ZANFANG and UHRZEIT <=:ZENDE';
QryDatumsbereich.ParamByName('ANFANG').AsDate := Date1;
QryDatumsbereich.ParamByName('ENDE').AsDate := Date2;
QryDatumsbereich.ParamByName('ZANFANG').AsTime := Time1;
QryDatumsbereich.ParamByName('ZENDE').AsTime := Time2;
QryDatumsbereich.Open;
//Zweite Variante die nicht geht
QryDatumsbereich.SQL.Text := 'SELECT * FROM '+Table+
' WHERE (DATUM >= :ANFANG and UHRZEIT >= :ZANFANG) and (DATUM <= :ENDE and UHRZEIT <=:ZENDE)';
QryDatumsbereich.ParamByName('ANFANG').AsDate := Date1;
QryDatumsbereich.ParamByName('ENDE').AsDate := Date2;
QryDatumsbereich.ParamByName('ZANFANG').AsTime := Time1;
QryDatumsbereich.ParamByName('ZENDE').AsTime := Time2;
QryDatumsbereich.Open;
Irgend jemand eine Idee wie das gehen kann.
Gruß Jens