Public Sub FillHolidays(StartYear As Integer, EndYear As Integer)
Dim HolidayDate As Date
Dim CurrentYear As Integer
For CurrentYear = StartYear To EndYear
'New Years
HolidayDate = CDate("01/01/" & CurrentYear)
InsertHoliday HolidayDate, "New Years"
'ML King 3rd Monday of Jan
HolidayDate = DayOfNthWeek(CurrentYear, 1, 3, vbMonday)
InsertHoliday HolidayDate, "Martin Luther King Day"
'Presidents Day 3rd Monday of Feb
HolidayDate = DayOfNthWeek(CurrentYear, 2, 3, vbMonday)
InsertHoliday HolidayDate, "Presidents Day"
'Memorial Day Last Monday of May
HolidayDate = LastMondayInMonth(CurrentYear, 5)
InsertHoliday HolidayDate, "Memorial Day"
'Independance Day
HolidayDate = CDate("07/04/" & CurrentYear)
InsertHoliday HolidayDate, "Independence Day"
'Labor Day 1st Monday of Sep
HolidayDate = DayOfNthWeek(CurrentYear, 9, 1, vbMonday)
InsertHoliday HolidayDate, "Labor Day"
'Columbus Day 2nd Monday of Oct
HolidayDate = DayOfNthWeek(CurrentYear, 10, 2, vbMonday)
InsertHoliday HolidayDate, "Columbus Day"
' Veteranss Day
' Although originally scheduled for celebration on November 11,
' starting in 1971 Veterans Day was moved to the fourth Monday of October.
' In 1978 it was moved back to its original celebration on November 11.
HolidayDate = CDate("11/11/" & CurrentYear)
InsertHoliday HolidayDate, "Verterans Day"
'Thanksgiving Day 4th Thursday of Nov
HolidayDate = DayOfNthWeek(CurrentYear, 11, 4, vbThursday)
InsertHoliday HolidayDate, "Thanksgiving"
'CHRISTMAS
HolidayDate = CDate("12/25/" & CurrentYear)
InsertHoliday HolidayDate, "Christmas"
Next CurrentYear
End Sub
Public Sub InsertHoliday(HolidayDate As Date, HolidayName As String)
Dim strSql As String
strSql = "Insert into tblHolidays (HolidayDate, HolidayName) values (#" & Format(HolidayDate, "mm/dd/yyyy") & "# , '" & HolidayName & "')"
Debug.Print strSql
CurrentDb.Execute strSql
End Sub