When the database opens, you could start up a hidden form that checks for a text file on the network every 5 minutes or so. If the text file can be found, then check again in another 5 minutes. If the text file cannot be found, then open up a shutdown form that will automatically close your database.
When you need to make design changes to your database, then you would go to the network and rename your text file from DatabaseOn.txt to DatabaseOff.txt. This will kick all users out of the database within 5 minutes.
When you have completed your design changes, you can rename your text file from DatabaseOff.txt to DatabaseOn.txt and this will allow users to gain access to your database again.
Here is a link that might explain it more...
http://www.mrexcel.com/forum/showthread.php?t=217056
Another way might be to split your database into a Front End and a Back End. Then create a batch file for your users that will copy the Front End to their local computers and then start up the database from their own local copy of the Front End. This way, there will never be anyone using the master copy of the Front End Database so you can make changes to it whenever you need.
I am at work so will not be able to check on this any longer but hopefully some of this will be helpful to you or maybe spark some other ideas from you or others.
Good Luck,
David