Part 1
Dim totdays as long
totdays = DateDiff(\"d\", \"01/2011\", DateAdd(\"m\", 1, \"01/2011\"))
The above code will retu
something like this (tested in vba)
final update for the Sunday sub-query
As per request in commentd from Gopal below
Dim strDate As String
Dim dtStart As Date
Dim dtEnd As Date
Dim stEnd As Date
Dim lngCnt As Long
Dim strOut As String
strDate = "01/2012"
dtStart = DateValue(strDate)
dtEnd = DateAdd("d", DateDiff("d", strDate, DateAdd("m", 1, strDate) - 1), dtStart)
lngCnt = Weekday(dtStart) - 7
Do
lngCnt = lngCnt + 7
strOut = strOut & Format(lngCnt, "00") & vbNewLine
Loop While lngCnt + 7 <= dtEnd - dtStart
MsgBox strOut
updated
Note that I needed to use lngdays-1 to add 1 day less than a month (ie 31-Jan-2011), else you would have had 01-Feb-2011 as the result
Dim strDate As String
Dim lngdays As Long
strDate = "01/2011"
lngdays = DateDiff("d", strDate, DateAdd("m", 1, strDate))
MsgBox Format(DateAdd("d", lngdays - 1, strDate), "ffffdd (dd/mm/yyyy)")
old
Dim lngdays As Long
lngdays = DateDiff("d", "01/2011", DateAdd("m", 1, "01/2011"))
MsgBox Format(DateSerial(2011, 1, lngdays), "ffffdd (dd/mm/yyyy)")