Nu fick jag för mina "synder". Skall aldrig mera göra avkall från min princip att för att kunna lära mig ngt, så måste jag förstå:r
iDag ska väl vara lika med 1 innan du börjar loopa.
varför det??
intLastDayIndex = IntFirstDayIndex - 1 + DatePart("d", (DateAdd("m", 1, dteCurrentDate)))
Jag förstår inte denna konstruktion. Om jag tillämpar på aktuell månad blir det som nedan:
Session.LCID = 1053
intFirstDayIndex = WeekDay("2003-06-01", 2) - 1
intLastDayIndex = IntFirstDayIndex - 1 + DatePart("d", (DateAdd("m", 1, "2003-06-01") - 1))
Så får jag intLastDayIndex = 35
DateAdd("m", 1, "2003-06-01") – 1
ger som sig bör
you can use DateAdd to calculate a date 30 days from today
aktuell månads sista datum.
DatePart("d", DateAdd("m", 1, "2003-06-01") - 1 )
ger antalet dagar som aktuell månad har. I vårt fall 30
IntFirstDayIndex – 1
ger en 5:a = lördag som stämmer överens med föregående månads sista dagsindex
Sammantaget ger detta att
For i = intFirstDayIndex to intLastDayIndex
kan översättas som
For i = 6 to 35
Och allt detta stämmer ju kanon fint..
M E N hur i hela fridens namn har Engine kommit fram till detta?????