[AccessD] For next loop - using date criteria

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



More information about the AccessD mailing list