Can I prevent users from opening an access 2003 database in design view? I don't want others to be able to change structure of the tables, just add change or delete the records within the table.
2 Answers
One thing you could pretty easily use to accomplish this is to use the user-level-access
. In Microsoft Access you can setup a workgroup
(which is completely un-related to Windows networking). The workgroup uses encryption to set a key for your database. In your workgroup you can setup users, and grant users various levels of permissions to objects. You can completely block them from creating or modifying forms. You can prevent them from modifying the design of tables and other objects, but still permit them to create/replace/update/delete data.
Here some links with details.
- http://office.microsoft.com/en-us/access-help/set-or-change-access-2003-user-level-security-in-access-2007-HA010166227.aspx
- http://office.microsoft.com/en-us/access-help/types-of-permissions-mdb-HP005188594.aspx
- http://www.databasedev.co.uk/permissions.html
Another thing you can do that is easier then messing around with access permissions is to set the database properties to open a default form, and block design changes. When you enable these per-database features you will not be able to change the design of anything. Unless you disable it, you can bypass the design-only restriction and default form by holding down the left shift key when you open up the database.
See this link.
Why not just get those users a copy of the Microsoft Access Runtime which can access forms, table data and so on, but completely lacks all of the design features.
Typically this means your Office site installation could be cheaper as you only need full copies of Access for those who need it, rather than everybody.
-
Can't believe someone -1'd your post... But yes, use the Access Runtime to restrict what they can do and LEGALLY cost less money Oct 27, 2011 at 21:54
-
I gave the -1, because access will not work on a read-only filesystem, and because there are built-in methods to manage object security in access. I disagree with the 'there is no way to protect'. Oct 27, 2011 at 22:00
-
Oh, OK... I didn't know that. I was +1ing for the Access Runtime part Oct 27, 2011 at 22:23
-
@Zoredache I wasn't completely sure whether the read-only idea would work and just put it in as a possibility. I've removed it now as your answer seems to deal well with user level security, whereas mine deals with a different method of not giving the full MS Access to those who don't really need it.– Mokubai ♦Oct 28, 2011 at 17:45
-
I am assuming a situation where there is an organization, where most computers have a full install of office (this is common). A 'use the runtime' answer isn't really the best. If the users already have a license and installed copy, this would mean a lot of un-installing/re-installing. It also wouldn't be the solution if the users need to work with other databases and do need the ability to design. I still think locking down the database would be a better choice, and if some users don't have MSAccess installed, then using the runtime would be great. Oct 28, 2011 at 18:00