A.D.TEJPAL
adtp at airtelbroadband.in
Wed Dec 13 23:24:22 CST 2006
Chester, You won't need a separate function for getting DaysInMonth. Self contained sample subroutine as given below, should do. Best wishes, A.D.Tejpal --------------- ================================ Sub LoopFirstOfMonths(ByVal DtStart As Date, _ ByVal DtEnd As Date) Dim Dte As Date Dte = DtStart Do While Dte <= DtEnd Debug.Print Dte Dte = DateAdd("m", 1, Dte) Loop End Sub ================================ ----- Original Message ----- From: Kaup, Chester To: Access Developers discussion and problem solving Sent: Thursday, December 14, 2006 00:32 Subject: [AccessD] For next loop - using date criteria I am trying to use date criteria in a for next loop but loop never increments. Loop works if a hard code in a step but with variable. What might I be missing? Code below. StartDate = #11/1/1948# EndDate = #11/1/2006# LoopStart = CLng(StartDate) LoopEnd = CLng(EndDate) For I = LoopStart To LoopEnd Step DaysinMonth Debug.Print CVDate(I) DaysinMonth = DaysInMonth2(CVDate(I)) + 1 Next I End Function Public Static Function DaysInMonth2(D As Date) As Integer ' ' Returns the number of days in a month ' Requires a date argument, since February can change if it's a leap year ' Lets Access figure it out ' If VarType(D) <> 7 Then DaysInMonth2 = Null Else DaysInMonth2 = DateSerial(Year(D), Month(D) + 1, 1) - DateSerial(Year(D), Month(D), 1) End If End Function Chester Kaup