In un altro forum ho trovato questo...
Access uses 2K pages to store data. The database is expanded as needed to create these 2K pages for storing data. If a page is completely emptied the page is marked as FREE and added to a FREE LIST that access checks for storing data (reuse). If the FREE LIST is empty (or some lower limit unknown to me), Access grabs more space and creates FREE pages. FREE pages are not returned to the OS for reuse (reclaimed). Only compacting the DB will restore the FREE pages to the OS. Of course a Compact is really a copy of the DB rather than a release of the FREE PAGES. Once compacted Access leaves some FREE pages (I have not seen how many) and if you use them up, it adds more. Oracle and Sqlserver work on the same concept
I think Compacting is not needed unless you did some BIG one time things in the DB, or a whole bunch of small things (fragmented pages result with a bunch partially filled). I usually compact about once or twice a year just to limit page fragmentation.