Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Access Security Problems

Status
Not open for further replies.

smurfer

Programmer
Jun 8, 2001
57
US
I have been trying to create security within my access 2000 db, and have run across a few problems. I went thru the wizard process creating new workgroups and assigning rights and everything works fine when it is run from my machine. What I am trying to do is be able to send this db to the few users who will need access, and allow then to run it from their machines, all the while maintaining the security that was created. Now when I try to run it from another machine, it advises I do not have rights to use it, and I do not even get the logon screen.

Does access security work across multiple machines?
Also, on my machine where this was created, the security is now enforced on every Access DB on my machine, is there a way to limit the security to just the DB it was ceated with?

Any help would be appreciated.

Thanks,
SM
 
The security settings are stored in a special file (extension: MDW). You can use the default file (system.MDW) or create a new MDW in any location.
This means that you have to export the correct MDW file plus a shortcut file pointing to this MDW (you should not replace the standard MDW otherwise your users will get into tremendous trouble with any other application than yours).

Be sure to read both the MS whitepaper on Access security as well as the security related articles in the Access Online Encyclopedia (
 
Sounds like you created the security in your standard system.mdw file instead of creating a new one for this database. You should back everything up and reload Access to get a new "wide-open" system.mdw back for yourself.
You need to distribute the *.mdw file for the new database with the code file to all users, and the directory path must match how it was created for every machine you install it to.
 
It sounds to me like you created your own secured workgroup information file, as you should have. (That's better than a lot of people do the first time they try using Access user-level security. It's a very tricky process.)

You must distribute the WIF you created for securing your database along with the database. Often, it's easiest to store it in the same folder as the database on the target machines. (Actually, they could use the WIF on your machine, if you share its folder on the network.)

The WIF contains the user and group accounts for your security system. Your users must use the secured WIF when accessing your database. There are two basic ways to do this. They can run the Workgroup Administrator program and "join" the new workgroup (specifying the WIF you created), or they can open your database using a shortcut you also provide, which contains the /wrkgrp command-line parameter. The shortcut can be placed on the desktop, on the start menu, or in any folder they like, and they can make copies of it to put wherever they find convenient.

If they use the Workgroup Administrator, it effects a registry change that identifies your WIF as the default WIF for all Access databases opened. This typically prevents them from being able to use unsecured databases until they use the Workgroup Administrator again to "join" the original WIF, named SYSTEM.MDW. This is the problem you're having on your machine, for example.

Using the shortcut with the /wrkgrp command-line parameter avoids this problem. The /wrkgrp parameter overrides the default WIF for this instance of Access, but doesn't change the default workgroup they belong to (the registry key). Thus, when they use the shortcut, they get your secured WIF, but when they open other databases, they get the original WIF and get automatically logged on as Admin, giving them full access without logging on manually.

The syntax for the shortcut's Target field is (substitute your own paths):
"C:\Program Files\Microsoft Office 2000\Office\msaccess.exe" "C:\My Documents\Databases\My Database.mdb" /wrkgrp "C:\My Documents\Databases\My WIF.mdw"

Note: If you share your WIF rather than distribute it, it will be easier to use a UNC path (\\sharename\folder\folder\My WIF.mdw) than a mapped drive. Keep in mind that your WIF must be available whenever they use your database--you shouldn't shut down or reboot while they're using it. Rick Sprague
 
Rick:
Yours was a very comprehensive and detailed explanation. I am constantly impressed with generosity of time that people in this forum are willing to give. Your post assisted me as well. Thanks for the help! :)
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top