I have done something like this ..... Here's the concept.
Using the windows task scheduler, create a task that opens
Access and a specific database (like when you create an
icon that opens a specific database). When this database
opens and your openning form, use the onOpen event (or
timer event), call a module that will compact your database
(s) to your 'saved' location, when completed then quit
your applciation.
Couple of notes: In code, you can not compact a database
to itself like you can when your in the database and use
the menu Tools / database utilities / compact.
You can copy and delete (kill) files as necessary with
code.
You can add a additional name to the compacted database
(like a date/time stamp) when you run the process.
You can build your module to cycle through a number of
databases.
I think this is what your after.
SteveD
PS: this may sound complicated, but if taken in small
steps, it's not.