Results 1 to 5 of 5
  1. #1
    Join Date
    Oct 2009
    Posts
    3

    Red face Unanswered: Security Wizard! locked me out of my own DB!!!!!

    Hi im new and new to the whole database thing.
    I played around with the security wizard and after completing it it told me to logg out of Access and logg back in...

    Now it gives me this message:
    "You do not have the neccesary permissions to use the 'C:\Users\*.mdb' object. Have your system administrator or the person who created this object establish the appropriate permissions for you."

    It printed out a snapshot of One-step Security Wizard Report...
    this does not help me much as i am only a beginner user...

    It did make a Microsoft office access workgroup information file which also does not help me much

    Can someone please help me to get into my database again... I have been working on it for 5 weeks now...

    Thanx and sorry for the stupidity

  2. #2
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    You can try the utility in this post: http://www.dbforums.com/6426828-post91.html

    It lets you look at the security in your mdw file.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  3. #3
    Join Date
    Oct 2009
    Posts
    3
    Hi thx for the reply, unfortunately it doesnt work as I have Access 2007

    I am really new to this so even a tip that may sound like common knowledge may help me.

    Thx again

  4. #4
    Join Date
    Oct 2009
    Posts
    3
    Finally@!!!!!!

    Just had to create the Full Access Users group wiht permission

    Thx

  5. #5
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    Good deal.

    I try to avoid MSAccess security. Instead, I'll use a permissions system such as demonstrated here: http://www.dbforums.com/6332819-post68.html

    Unless you have user's who are developing (and need to allow some users permissions to edit the design of forms), security is more easily controlled through vba code using the getUser code to automatically grab the user's loginID. Since user's shouldn't ever be editing data directly into the tables, you then control their permissions to edit the data in the specific forms themselves as the example portrays. This gives you field level control of permissions as well as table level control.

    The reason I don't like MSAccess security is that mdw files sometimes become corrupt or get lost. Once that happens, without a backup of the mdw, you've essentially completely locked your application! (rarily can you recover/edit an mdb file without an mdw file if MSAccess security has been implemented.) I would rather control security to the tables (via SQL Server), and the permissions to edit the data in the tables through the frontend forms (matching permissions against a user type table as the example illustrates.) If SQL Server is not an option, again, control of data entry permissions still takes place via the forms. When needed, you basically lookup a user's 'permission level' in a user type table. You have a function which returns that user's permission level and in the form's onLoad or OnOpen event, you simply set the ability to edit fields/records based on what the function returned. The nice thing about this is that you could (in the example), have code which automatically quits the mdb if a user is not in the user type table. You can also let the user's themselves easily assign other user's permission levels or add them to the user type table (to give other users permissions to use the mdb.) It eliminates the need for someone having to always come to you should they want to add a new user or change someone's permission level. Also, often permissions need to happen on a FIELD level versus a table level which you can easily implement using this method.

    I simply copy/paste my function/user table/user forms from one mdb to my new one. Then I add the few lines of code it takes to lock/unlock certain fields/buttons on the data entry/menu forms. I also use the 'background' and popup/modal form method as shown in the example to prevent user's from closing to get behind the scenes to the tables (note: in 2007, you have to turn off the ability to see the left side objects.) This method still allows the use of holding down the shift key while opening the mdb in order to get behind the scenes for coding. Since typical user's don't know this trick, it keeps them out of the backend. (even if they did start entering data behind the scenes, I'd eventually discover it.) I also use compiled versions of the mdb (or accdb). An mde or accde (for the frontend) doesn't allow users to see any code and runs more efficiently since it's compiled.

    I use this system quite often so I just wanted to let you know another way.

    Also, there have already been several posts on this forum where someone has posted a corrupt mdb file for help (without the lost mdw file) and there's essentially nothing that can be done to help them other than to recommend restore backups since MSAccess security was implemented.

    Restoring backups is a last resort thing for me since backups for our network only happen on Sundays.
    Last edited by pkstormy; 10-11-09 at 15:28.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •