Doug, this is not a simple question, and there are lots of possible
sidetracks in doing this, but the simplest solution will be a Cartesian
Product query.
1. Presumably you already have a table with fields:
EventDate Date/Time: the first date of the series.
Interval Number how long between occurances.
IntervalType Text d, m, or yyyy (for days, months
or years.)
EventDescrip Text what this is
For example, if you go to the gym every 7 days from 8/1/2006, the record
would look like this:
8/1/2006 7 d go to gym
2. Create a table that contains value from 0 to say 100 or 1000 - how every
many dates into the future you want. One field named CountID, type Number,
marked as primary key, and save the table as tblCount. You can use the code
below to enter the values so you don't have to enter them by hand.
3. Create a query using both tables.
There must be no line joining the 2 tables in the upper pane of query
design.
Type this into a fresh column in the Field row:
DateAdd([IntervalType], [CountID] * [Interval], [EventDate])
And the code to populate your counter table:
Function MakeData(HowMany As Long)
Dim rs As DAO.Recordset
Dim lng As Long
Set rs = DBEngine(0)(0).OpenRecordset("tblCount", dbOpenDynaset)
For lng = 1 To HowMany
rs.AddNew
rs![CountID] = lng
rs.Update
Next
rs.Close
Set rs = Nothing
End Function