CALCULATING RELATIVE DATE VALUES
. This method
relies on the DateSerial function to generate the custom start and end dates.
So, if you're comfortable using VBA, try out this approach.
"I create a drop-down box with values like 'This Year,' 'Last Year,' 'Year
to Date,' etc.
Then I use the following code for the AfterUpdate event.
Just a different way of doing it!"
Select Case cboDateRange.Value Case "This Month" txtStartDate.Locked = True
txtEndDate.Locked = True txtStartDate = DateSerial(Year(Now()), Month(Now()),
1) txtEndDate = DateSerial(Year(Now()), Month(Now()) + 1, 0) Case "Last Month"
txtStartDate.Locked = True txtEndDate.Locked = True txtStartDate = DateSerial(Year(Now()),
Month(Now()) - 1, 1) txtEndDate = DateSerial(Year(Now()), Month(Now()), 0)
Case "This Quarter" txtStartDate.Locked = True txtEndDate.Locked = True dbl
= (Month(Now()) - 1) / 3 txtStartDate = DateSerial(Year(Now()), Int(dbl) *
3 + 1, 1) txtEndDate = DateSerial(Year(Now()), Int(dbl) * 3 + 4, 0) Case "Last
Quarter" txtStartDate.Locked = True txtEndDate.Locked = True dbl = ((Month(Now())
- 1) / 3) - 1 txtStartDate = DateSerial(Year(Now()), Int(dbl) * 3 + 1, 1)
txtEndDate = DateSerial(Year(Now()), Int(dbl) * 3 + 4, 0) Case "Year-To-Date"
txtStartDate.Locked = True txtEndDate.Locked = True txtStartDate = DateSerial(Year(Now()),
1, 1) txtEndDate = Date Case "Last Year" txtStartDate.Locked = True txtEndDate.Locked
= True txtStartDate = DateSerial(Year(Now()) - 1, 1, 1) txtEndDate = DateSerial(Year(Now()),
1, 0) Case Else txtStartDate.Locked = False txtEndDate.Locked = False txtStartDate
= DateSerial(Year(Now()), Month(Now()) - 1, 1) txtEndDate = DateSerial(Year(Now()),
Month(Now()), 0) txtStartDate.SetFocus End Select