Hallo,
In meinem Programm werde Datumwerte als [Datum] Integer / [Std] Integer + [Min] Integer in der Datenbank gespeichert.
Das habe ich gemacht weil Datum und Zeit immer wieder zerlegt werden müssten.
Die Eingabe des Nutzers werden getrennt 1) Datum 2) von/bis als Std/Min.
Jetzt brauche ich die Stundenwerte des letzten Monats:
Code:
function DaysOfMonth(ADate:TDate; corrMonth):String;
...
DecodeDate(ADate, Year,Month,Day);
IncAMonth(Year,Month,Day,corrMonth);
dtA := EncodeDate(Year,Month,1);
dtE := EndOfAMonth(Year,Month);
dtA zeigt 41640 = 01.01.2014
dtE zeigt 41671 = 01.02.2014 - in den SQL_String kommt:
Code:
Result := ' (('+DateField+' >= '+sdtA+') AND ('+DateField+' < '+sdtE+')) ';
Ich wandele also die TDate-Werte in Strings um.
Code:
sdtE := IntToStr(Trunc(dtE));
dtE = 41671 !!!
sdtE = 41670 !!!
Es werden nur die Datumsanteile benutzt und Ganzzahlen angezeigt.
Wie kann das sein?
Welche Möglichkeiten gibt es das zu vermeiden?