I'm fine with the table if you want to go that way, though I don't see the point. It's adding dates one-by-one that I don't like. I had a function that steps through dates so I modified it to add dates to a table. It took a fraction of a second to add 18 years worth of dates, which I randomly decided on.
Code:
Public Function FindMissingDates()
Dim dteStartDate As Date
Dim dteEndDate As Date
Dim dteCurrDate As Date
Dim strSQL As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
dteStartDate = #1/1/2011#
dteEndDate = #12/31/2029#
Set db = CurrentDb()
strSQL = "SELECT * FROM TableName"
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
For dteCurrDate = dteStartDate To dteEndDate
rs.AddNew
rs!FieldName= dteCurrDate
rs.Update
Next dteCurrDate
Set rs = Nothing
Set db = Nothing
End Function