Ich verstehe die Schleifen-Bemerkung nicht wirklich. Die folgende Funktion ist aber kompatibel und berücksichtigt den Jahreswechsel (schon fast) korrekt (LSLIEFERDATE.Value darf nicht z.B. 2.1.2010 sein, denn das ist KW53/2009 - aber wer liefert da schon was?
).
Delphi-Quellcode:
//Ergibt Montag in <AUTOINTERVALL.Value>-Wochen
NaechsterMontag := EncodeDateWeek(YearOf(LSLIEFERDATE.Value),
Kalenderwoche_ermitteln(LSLIEFERDATE.Value),1) +
AUTOINTERVALL.Value*7;
Ich würde die folgende Variante bevorzugen
Delphi-Quellcode:
//Datum des Wochenanfangs der letzten Lieferung + <AUTOINTERVALL.Value>-Wochen
NaechsterMontag := LSLIEFERDATE.Value - DayOfTheWeek(LSLIEFERDATE.Value) +
AUTOINTERVALL.Value*7 + 1;
P.S. Vielleicht hätte ich mich noch zur Frage äußern sollen? Ja, es gibt eine Fehlermeldung (denn KW 60 gibt es im Jahr 2009 nicht (2010 übrigens auch nicht
)