You can set a calendar to be - let's say always a three month window - show a calendar control to be a month in the past and another a month in the future. This would be accomplished by using something like this:
Me.YourStartCalendar = DateAdd("m", -1, Date())
Me.YourEndCalendar = DateAdd("m", 1, Date())
And that would always give you a calendar based on today's date and when you moved into the next month it would display new dates.
For example, if you used the current date (April 6th) it would display
StartDate = March 6, 2009
EndDate = May 6, 2009
and then next month on, say May 1st it would show:
StartDate = April 1, 2009
EndDate = June 1, 2009
and so on.