Here's 2 more thoughts in addition to what has already been said.
To keep from your DB program corrupting, or at least not as much of a chance, you need to have your DB program split into 2 parts, a front end, and a back end. Your back end would only contain the various table structures and the actual data. Your front end will contain everything else (relationships may be another thing, but I haven't been able to get them to work properly with my queries, so I don't really use the relationships so much, though I also understand the Integrety issues that's involved to help keep the data normalized, which gets into the 5 rules of normalization form. The first 3 levels are very much so required and not hard to understand. The last 2 levels requires a little more understanding of which I have already been required in my DB program to use 4NF, but not quite to the point that I been required to use the 5NF just yet. I am however, keeping that rule in mind too cause I will eventually be required to use it.
Don't forget the replication steps you need to do so as only you and others, if there is/are any other(s) that involved in the development has access to the Design Master Replica and no one else can create a replica of the DB files.
The FE replica that users can use should be on a server, which then should be copied from there to the user PC which then the user would open the access program from their own PC (this helps in reducing file corruption chances)
My second thought is dealing with Data Validation and User friendliness. As we all should know, data validation is a must in the DB world, cause as they say, garbage in, garbage out. However, with that said, we also must make the forms as user friendly as possible without sacrificing data validation checks and efficiencies. For this, the common thought has been to use bound controls (efficiency purpose not to mention normally, doesn't create as much work for the developer), but I have ran into one issue with bound objects. Nearly all Access developers knows to use the BeforeUpdate Event for data validation purposes, but if you happen to have users that doesn't understand the concept of pressing F1 for help, pressing Esc or Clicking the X button on the form to close the form out, to where you have to create a command button for either one of these 2 tasks or for resetting the form, then the BeforeUpdate Event fails out in those minor few cases, thus for that reason, I have created my own modulated data validation code to similate VB6's CausesValidation Property and Validate Event.
Ronald R. Dodge, Jr.
Production Statistician
Master MOUS 2000