If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Checking user's credentials
Hi
I build an app in Excel where user is obligated to enter a user name and password. If the given user name with password exists in an Access database the application will start. But how to check if the given user (with such password) exists in the mdb file? I wouldn't like to try to run a random query to see if it returns results. I was rather thinking about something more advanced - a solution that checks only the user name and password. In VBA of course. Kind regards IgorM |
#2
|
|||
|
|||
Checking user's credentials
On Thu, 8 Apr 2010 07:52:54 +0200, "IgorM" wrote:
Hi I build an app in Excel where user is obligated to enter a user name and password. If the given user name with password exists in an Access database the application will start. But how to check if the given user (with such password) exists in the mdb file? I wouldn't like to try to run a random query to see if it returns results. I was rather thinking about something more advanced - a solution that checks only the user name and password. In VBA of course. Kind regards IgorM So use a query with the desired username and password as parameters. That's hardly a "random query". You may also be able to use the DLookUp function. -- John W. Vinson [MVP] |
#3
|
|||
|
|||
Checking user's credentials
Ok. But what if I want to check the group which the user belongs to?
Uzytkownik "John W. Vinson" napisal w wiadomosci grup dyskusyjnych6tqr5hbqd5l8hheb4hq1tntlr7dohp2gl@4a x.com... On Thu, 8 Apr 2010 07:52:54 +0200, "IgorM" wrote: Hi I build an app in Excel where user is obligated to enter a user name and password. If the given user name with password exists in an Access database the application will start. But how to check if the given user (with such password) exists in the mdb file? I wouldn't like to try to run a random query to see if it returns results. I was rather thinking about something more advanced - a solution that checks only the user name and password. In VBA of course. Kind regards IgorM So use a query with the desired username and password as parameters. That's hardly a "random query". You may also be able to use the DLookUp function. -- John W. Vinson [MVP] |
#4
|
|||
|
|||
Checking user's credentials
On Thu, 8 Apr 2010 08:31:54 +0200, "IgorM" wrote:
Ok. But what if I want to check the group which the user belongs to? Well, include that in the query. I'm groping in the dark here, Igor, because you haven't posted anything about the structure of your tables, where the group and user information is stored, etc. Is this Access Workgroup security, or something you've implemented yourself? -- John W. Vinson [MVP] |
#5
|
|||
|
|||
Checking user's credentials
Appologies for not being too specific. I set a password for the Admin
account in the database. So when I try to open the file in Windows Explorer a userform pops up asking for user name and password. if I don't provide them it shuts down the database. So when user types her user name and password I'd like to query the database for the collection of groups the user belongs to. I wrote a macro as below. I'll copy and past my other post: I have an access mdb file with an Admin user and a password set for the user. So basically when I try to open the mdb file in Windows Explorer a userform pops up asking to provide user name and password for the database. If I don't give a correct password or user name I cannot access the file. I tried to use this in Excel VBA (see code below). It takes a user name and password from a userform, connects to the database and retrieves each table name. Unfortunately, if I provide a password (ie the same password when opening the file through Windows Explorer) I cannot access the file. I get an error: "Cannot start your application. The workgroup information file is missing or opened exclusively by another user." But if I leave the password blank it connects to the database and retrieves table names. Why is that? Private Sub cmdLogIn_Click() Dim objCatalog As ADOX.Catalog Dim objTable As ADOX.Table Set objCatalog = New ADOX.Catalog ' Check if the database file path is set. If Not Len(gsDatabaseFilePath) 0 Then MsgBox gsMSG_DATABASE_FILE_NOT_SPECIFIED, vbInformation + vbOKOnly, gsAPP_NAME Exit Sub End If On Error GoTo ErrorHandler ' Check if user name is not a null string. If Len(txtUserName.Text) 1 Then gsDatabaseConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; " & _ "Data Source=" & gsDatabaseFilePath & "; " & _ "User ID=" & txtUserName.Text & "; " & _ "Password=" & txtPassword.Text objCatalog.ActiveConnection = gsDatabaseConnectionString For Each objTable In objCatalog.Tables MsgBox objTable.Name Next objTable Exit Sub Else MsgBox gsMSG_WRONG_CREDENTIALS, vbInformation + vbOKOnly, gsAPP_NAME Exit Sub End If ErrorHandler: MsgBox gsMSG_WRONG_CREDENTIALS & " " & Err.Description, vbInformation + vbOKOnly, gsAPP_NAME End Sub Uzytkownik "John W. Vinson" napisal w wiadomosci grup dyskusyjnych:7k0sr5t7ig7544723nljsfqo2orhajni0f@4a x.com... On Thu, 8 Apr 2010 08:31:54 +0200, "IgorM" wrote: Ok. But what if I want to check the group which the user belongs to? Well, include that in the query. I'm groping in the dark here, Igor, because you haven't posted anything about the structure of your tables, where the group and user information is stored, etc. Is this Access Workgroup security, or something you've implemented yourself? -- John W. Vinson [MVP] |
Thread Tools | |
Display Modes | |
|
|