Joshua B
jbusergroups at optushome.com.au
Thu Feb 27 17:33:00 CST 2003
Hello Joe Rojas, This function should do what your after. Keep in mind that whichDay needs to be 1 for Sunday, 2 for Monday, etc. If you pass an invalid query (eg, the thirteenth Sunday of February), it will error and return 12:00:00 AM. '=========== 'Code Start Function getDate(dte As Date, whichDay As Long, whichNumber As Long) As Date Dim monthStart As Date Dim firstDay As Date Dim tmpDate As Date monthStart = DateSerial(DatePart("yyyy", dte), DatePart("m", dte), 1) tmpDate = monthStart 'Find the first Day Do While DatePart("m", dte) = DatePart("m", tmpDate) If Weekday(tmpDate) = whichDay Then firstDay = tmpDate Exit Do End If tmpDate = DateAdd("d", 1, tmpDate) Loop getDate = DateAdd("d", ((whichNumber - 1) * 7), tmpDate) If DatePart("m", dte) <> DatePart("m", getDate) Then MsgBox "The day requested does not exist!", vbCritical, "Error." getDate = 0 End If End Function 'Code End '========= Hope this helps ======= At 2003-02-27, 14:15:00 you wrote: ======= >Hi All, > > Does anyone have code that they can share that performs date >calculations that return dates for inquiries like "last Thursday of a >month", "second Monday of a month", "fourth Tuesday of a month", etc... > >Thanks! > >Joe Rojas = = = = = = = = = = = = = = = = = = = = Best regards. Joshua B jbusergroups at optushome.com.au 2003-02-28