Tim,
Yes, in principle this is no problem. You need to decide which *event*
you want this process to occur on. For example, if it's when the
database is first opened for the day, you would use the Open event of a
form that always opens when the database opens. Then, you would put a
Condition in the macro, like this...
DLookup("[Effective Date]","YourTable")=Date()
You would then probaly want to add another field to the table, let's say
a Yes/No field, to indicate that it has been processed, and add another
action to the macro (OpenQuery probably) to update this field, otherwise
the macro will run every time the database is opened that day (if it
gets opened more than once a day).
Hope that points you in a useful direction!