I know of no way to completely lock up the data, but you can make it a
challenge for the users
Make queries that return all the fields from each table and set the recordset
type of the query to Snapshot.
-- Name all your existing tables so they start with msys (msysEmployees) -
This will hide the table immediately (Use Tools: Options: View tab and check
to show System Objects until you have built all the queries)
-- Make for each table that shows all the fields. For instance, a query named
Employees for the msysEmployees table and set the query recordset type to
Snapshot. The query will look like
SELECT * FROM msysEmployees
-- Hide all your base queries. (RIght Click: Properties and check hidden) You
will use these base queries as the source for all your queries, reports, etc.
Set the startup options of the database to
-- Not show the database window
-- Not allow full menus
-- Not allow Built-in toolbars
-- Not allow Toolbar/Menu changes
-- Not allow Use Special Access keys
-- Do set a startup form
-- Look for options on how to disallow the shift bypass key
(
http://www.mvps.org/access/general/gen0040.htm)
Make the database an MDE to lock down VBA code, forms, etc.
John Spencer
Access MVP 2002-2005, 2007-2009
The Hilltop Institute
University of Maryland Baltimore County