A runtime actually applies to the MS-Access program, not the mdb or mde. A runtime is a special install of msaccess.exe that allows you to _use_ the mdb but not make any design changes. If you do not want to purchase a license for every user, -or- if you think your users will try to "make your
program better" then this is a good choice. It also prevents users from creating their own Access apps (and then expecting you to maintain them).

When you create an mde file, Access compiles all of the code and removes the source code, therefore you cannot make changes regardless of whether you have retail or runtime Access. To implement design changes, you need to modify the original mdb and then re-create a new mde. If you lose the mdb, then you start over.

Therefore, if somebody already has retail Access installed on their PC, they have the power, unless you give them an mde.

Ultimately, if you learn to use Access workgroup security you can exercise complete control over your app, but it will take a little time to master.

1. You need the ODE Tools to create run-times.

2. Splitting the database into front/back means that only the data is in the back end, and all of the queries, forms, reports, macros & modules are in the front end. From the front end, you link to the tables in the back end.

The advantage of this is that the back end stays on the server, where it can be backed up easily and is just plain "safer" and when you make changes to the front-end programs, you don't have to worry about harming the data itself.