views:

135

answers:

1

I'm trying to secure an MS Access 2003 mdb using the workgroup security. I've got most of it set up (using a new MDW etc), but I can't stop people creating new tables in the database, if they've got access to open it. Am I missing something?

None of the accounts have any permissions allowed, I'm doing it all through groups. Users only have Open\Run access to the database, no access to <New Tables/Queries> and only "Read Data" access on all the other tables, including the MSys* tables.

Any thoughts or am I trying to do the impossible?

Cheers

Ben

--Update--

I've tried using the wizard as suggested, but that still leaves me with the same problem. I created a blank database & ran the wizard on it. Assigned 2 users, Me & User, and removed all access to the standard groups. I added Me into the Admin group & User to the Read Only group.

Not using the MDW denies access, as expected. Logging in as Me allows full access (Design things, add data, delete data, etc), logging in as User will allow read data inexisting tables, but not add data or design them (as expected), but it will still allow creation of a new table, which User will then have full access to add, delete etc.

B.

A: 

Can your users use the runtime version of msAccess? They will not have the ability to create any new Access object, such as table, query, form, etc.

And runtime version is free, so you'll also spare on licences!

Philippe Grondier
The runtime version will still allow tables to be created using DAO (or ADO), so this won't work. :-(
oharab
I am not really sure about that. That would be true if users have the possibility to generate some VB code and use it to send DDL instructions on your access file, but this will not be possible with a runtime version of Access. Then, if your users are smart enough to do that kind of things, they could then write the same code in an Excel or Word module to create these tables. In this case youu'll have to switch to SQL SERVER to enhance some real security policy on your database.
Philippe Grondier
Or they could write vbScript to update your data with Jet.
David-W-Fenton