Repairing and compacting the database on a daily basis for a heavily used application is excellent advice.
You don't mention how the database application is set up. Be sure that it is set up the following way:
1. Data is stored in a separateAccess database (the "back end"). Let's call it myappBE.mdb. This will only contain the tables and nothing else. Put it in a separate subdirectory.
2. Put the application (the "front end") database (myappFE.mdb or myappFE.mde) in a separate directory. myappFE.mdb will link to all of the necessary tables in myappBE.mdb. It will contain all of the queries, forms, reports, macros, and modules. (You might keep a few temporary/app control files in myappFE.mdb if necessary.)
3. Be sure thatusers do not have access to the database window and their actions are all controlled through programming (forms, reports, etc.)
This makes it easier to support the application and to manage both the application and the data. Access increases itssize whenever someone logs in. However, with this set up you can repair/compact myappBE.mdb daily and just copy the "startup" version of myappFE.mdb over the one on the server when myappFE.mdb gets significantly larger.
I'd also recommend supplying users with myappFE.mde as an additional way of limiting their ability to play around with the application.
It also sounds like you need to better educate users to close the application properly after using it...and not using the power switch.