Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > Microsoft Office > Access and Access VBA > Access
Password Reminder
Register
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
Access Discussion of Microsoft Access database design and programming. See also the forums for Access ASP and Access VBA.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Access section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developers’ questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old April 18th, 2006, 04:24 AM
Authorized User
 
Join Date: Nov 2005
Location: Bromsgrove, United Kingdom.
Posts: 41
Thanks: 6
Thanked 1 Time in 1 Post
Send a message via MSN to RobCarter
Default User access levels without using the mdw

Hiya all.

I am trying to code some user access levels in whereby if a user has a certain access level (as defined in a field in a table) then the command buttons on my menus are enabled or disabled as required according to the value in the field.

I have a table with username, password and access level included in the fields and I guess that I have to use a module with a public variable, I am just unsure as to how I go about it.

Any response kindly appreciated

Rob Carter

Rob Carter
__________________
Rob Carter
Reply With Quote
  #2 (permalink)  
Old April 18th, 2006, 08:11 PM
Friend of Wrox
 
Join Date: Mar 2004
Location: Yorba Linda, California, USA.
Posts: 217
Thanks: 0
Thanked 1 Time in 1 Post
Default

Rob,
This is not real secure. Here is one way to do it. You will need a way to determine who the use is. You could use a log in screen and capture user's initials and PW and compare against the table entry, then set a Global variable for who the user is and what their permission level is. In the on_Load for your forms, check the user's permission level (Global)and set either the visible or enabled property for the control based on the Global permission level variable.

*********************************************
in a button on the User Log in Screen:
Dim db As DAO.Database
Dim rec As DAO.Recordset
Dim strUserPasswordInput As String ' hold password user gives to compare, Dim varFoundUserPW As Variant ' store user's PW
Dim strUserInitInput As String ' store user initials,
Dim strUserPWStored As String
Dim strUserInitStored As String
Dim intUserLevelStored As Integer

Set db = CurrentDb

Set rec = db.OpenRecordset("tblauthusers", dbOpenDynaset) ' updated 6-29-05

' make sure user performed!
txtUserInit.SetFocus
If txtUserInit.Text <> "" Then
    strUserInitInput = txtUserInit.Text
Else
    MsgBox "You must enter valid user initials and password"
    Me.txtUserInit.SetFocus
    rec.Close
    Exit Sub
End If

txtUserPassword.SetFocus
If txtUserPassword <> "" Then
        strUserPasswordInput = txtUserPassword
Else
    MsgBox "You must enter valid user initials and Password"
    Me.txtUserInit.SetFocus
    rec.Close
    Exit Sub
End If

rec.FindFirst "[AuthInit] = """ & strUserInitInput & """"

If rec.NoMatch Then
    MsgBox "You have entered invalid User Initials or password."
Else ' user initials match
    strUserInitStored = rec("AuthInit")
    strUserPWStored = rec("Password")
    intUserLevelStored = rec("level")
End If

If strUserPWStored = strUserPasswordInput Then
    strUserInit = strUserInitStored ' set global
    intAuthLevel = intUserLevelStored ' set global, objects become visible depending on setting
    DoCmd.OpenForm "frmmainmenu"
    DoCmd.Close acForm, "frmUserID", acSaveNo
Else
    MsgBox "You must enter valid user initials and PASSWORD"
    Exit Sub
End If


rec.Close
Set rec = Nothing

End Sub
*******
The tblAuthUsers contains:
AuthID (PK)
AuthInit (Users Initials for Log in)
AuthName (users name)
Level (a long representing level of permission)
Password (text containing the PW)
************
an example of how to code a form's on_load event to allow a user with a specific level to see the button cmdOpenUpdateForm:

If intAuthLevel = 1 Then
    cmdOpenUpdateForm.Visible = True
Else
    cmdOpenUpdateForm.Visible = False
End If
*********
Create your Global variables in a module. You may want to call the module "Globals"
*******************************************

You may want to create a button or two for yourself to use during development that will re-set the permission level (such as if Level 6 is your highest level and allows you to do everything, code the button to reset the global variable to the value 6. WHEN something goes wrong during testing and your project gets reset after responding to a debug, you will loose your variable. Of course, before delivery, remove the button or set it to invisible.
HTH,
Loralee



Reply With Quote
The Following User Says Thank You to Loralee For This Useful Post:
RobCarter (June 24th, 2009)
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Administer MS Access MDW file in VB.NET iii_carlos BOOK: Beginning VB.NET Databases 1 April 30th, 2007 06:25 AM
Access Database MDW iii_carlos BOOK: Beginning C# 2005 Databases 0 April 29th, 2007 02:17 AM
problem with access levels in application nav1 VB How-To 2 March 8th, 2005 05:17 PM
Security = System.mdw ?? martinaccess Access 5 November 13th, 2004 11:45 AM
user levels dazednconfused Beginning PHP 3 July 8th, 2003 04:29 AM



All times are GMT -4. The time now is 05:51 AM.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.