title image


Smiley Mit Datumsformaten rechnen
Hi,

ich möchte in einem Programm eine routine reinbringen, die der User selbst bestimmen kann.

Der User kann zwischen Täglich, Wöchentlich und Monatlich wählen.

Bei Täglich und Wöchentlich habe ist es relativ einfach. Da habe ich einfach +1 bzw +7 gerechnet. Nur bei Monatlich habe ich probleme, da ich ja nicht einheitlich +30 Tage rechnen kann. Hat jemand eine bessere Lösung als ich jetzt gefunden habe, weil ich mir nicht vorstellen kann, dass es so richtig ist.



Hier mein Source Code (auszugsweise)



IF Query1.FieldByName('Wann').AsString = 'T' THEN BEGIN

~

FormatDateTime('yyyy-mm-dd',(Query1.FIeldByNAme('Datum').AsDatetime + 1));

~

END;

IF Query1.FieldByName('Wann').AsString = 'W' THEN BEGIN

~

FormatDateTime('yyyy-mm-dd',(Query1.FIeldByNAme('Datum').AsDatetime + 7));

~

END;

IF Query1.FieldByName('Wann').AsString = 'M' THEN BEGIN

datum := Query1.FIeldByNAme('Datum').AsDateTIme;

temp := FormatDateTime('MM',date);

temp2 := 0;

temp3 := '';

temp4 := '';

IF Temp = '12' THEN BEGIN

temp2 := StrToInt(FormatDateTime('.yyyy', Datum)) +1;

temp3 := FormatDateTime('DD', Datum);

temp3 := temp3 + '.' + temp4 + IntToStr(temp2);

END

ELSE BEGIN

temp2 := Strtoint(temp) +1;

IF Length(IntToStr(temp2)) = 1 THEN BEGIN

temp4 := '0' + IntTOStr(temp2);

END

ELSE BEGIN

temp4 := IntTOSTr(temp2);

END;

temp3 := FormatDateTime('DD', Datum);

temp3 := temp3 + '.' + temp4 + FormatDateTime('.yyyy', Datum);

END;

Query2.Close;

Query2.SQL.Clear;

Query2.SQL.Add('UPDATE termin_BUCH ');

Query2.SQL.Add('SET DATUM = '''+FormatDateTime('yyyy-mm-dd',(StrToDate(temp3)))+'''');

Query2.SQL.Add('WHERE ID = '+Query1.FieldByName('ID').AsString+'');

Query2.ExecSQL;

Query2.Close;

END;

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: