Ed said:
Thanks, Joan, for your response. I am not an expert in Jet security
by any means, but are you suggesting that I can somehow "lock down"
the tables themselves, but drive the access to the data via queuries,
where your suggestion would split the access appropriately? My
initial concern about your response was how to prevent a user from
just hopping into the table(s) directly, even if the forms are driven
by queries.
Yes. Whether it is split or not, doesn't matter as far as this is
concerned. However, you should still split the database anyway.
You need to implement user-level security. It isn't trivial, but if you
take the time to study before you plunge, you can accomplish what you want.
Security FAQ - download and study this.
http://support.microsoft.com/?id=207793
Security Whitepaper
http://support.microsoft.com/?id=148555
Although the whitepaper is old, it contains information to help you
understand security.
I've also outlined the detailed steps at
www.jmwild.com/AccessSecurity.htm
Since you are using 2000, do not use the security wizard.
You can deny all permissions to the tables, and instead use 'run with owner
permissions' queries. You give the users the required permissions on the
queries/forms/reports. When they run the query, they will be able to access
the underlying tables based on the query owner's permissions on the tables.
So even though they don't have any permission on the tables, when they run
the query they can access the data.
You just ensure that the owner of any query has full permissions on the
tables. The users will still be restricted to the permissions you grant on
the queries. More explanation in the FAQ and white paper.
I suggest you practice on a copy of your database.