you can set startup properties (see Tools | Startup on the database menu
bar), including disabling Access Special Keys. but startup properties can be
bypassed when the db is opened; the info on how to do it is one of the
easiest things to find out, both on the web and in many Access books. to
prevent that, see the code at
http://www.mvps.org/access/general/gen0040.htm
note: make sure you 1) back up your database before adding this code and
running it for the first time, in case you lock yourself out, and 2) make
sure you set up a way to *unlock* the db from the user interface - i use a
transparent command button, with tabstop set to No and height/width set to
0, activated by an unusual key combination, to run the "unlock" code.
to "turn off" the Access window's "X" button (Close button), see
http://www.accessmvp.com/JConrad/accessjunkie/closebutton.html
there are a number of resources listed on that page, including complete code
at the bottom of the page itself.
suggest you bookmark both websites listed above, they're excellent and
reliable resources.
also suggest you convert your *Frontend* (not backend) database to an mdE
before distributing; see Tools | Database Utilities on the database window's
menu bar. this will protect form, reports, and standard modules from
tampering by your users. note that it does nothing to protect tables,
queries and macros. so if you have users sophisticated enough to get around
the AllowBypass-disabling code, the only way i know of to protect tables,
queries, and macros, too, is to implement Access user-level security. that
is a whole separate subject that you need to proceed with *very carefully*;
see
http://www.jmwild.com/Accesssecurity.htm.
hth