If you need to keep database size down, then delete the data from the
intermediate tables after you have done the append. I would still leave the
code in to delete the data prior to the append so in case there is an error
that leaves data in the intermediate table, you wont get something you don't
As to the compact problem, since I never use Macros or Actions (I do
everything with VBA and methods, I can't say what will solve your problem.
If you have a size issue, I would suggest you set your database up to compact
Do you have that much data? The size limit for an mdb is 2 gig. Now, if
you are committing the sin of running an unsplit database and it is shared on
a server, then you will have to accept performance degradation.