Here is my code for checking username and password against a table.
Code:
Private Function VerifyCredentials(inUsername As String, inPassword As String) As Boolean
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim sqlQry As String
sqlQry = "SELECT [App Users].Username, [App Users].Password FROM [App Users] " _
& "WHERE [App Users].Username = '" & inUsername & "' AND [App Users].Password = '" & inPassword & "'"
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(sqlQry)
If rst.EOF Then
VerifyCredentials = False
Else
VerifyCredentials = True
End If
rst.Close
Set dbs = Nothing
Set rst = Nothing
End Function
Private Sub CmdLogon_Click()
On Error GoTo ErrHandler:
If VerifyCredentials(txtUsername, txtPassword) Then
SetCurrentUser txtUsername
RecordLogin txtUsername, 1
DoCmd.OpenForm "App Main Menu"
DoCmd.Close acForm, Me.Name
Else
MsgBox "Username or Password was incorrect. Attempt to access system has been logged.", vbExclamation, "Unauthorized!"
RecordLogin txtUsername, 0
txtUsername.SetFocus
End If
Exit Sub
ErrHandler:
MsgBox "Error connecting to Database. Contact System Administrator"
Exit Sub
End Sub
Private Sub RecordLogin(inUsername As String, inSuccess As Integer)
Dim sql As String
sql = "INSERT INTO [App Access Log] ([LoginDate], [LoginTime],[WorkStationUser],[UserName],[Success])" _
& "VALUES (#" & Date & "#, #" & Time & "#, '" & Application.currentUser & "', '" & inUsername & "', " & inSuccess & ")"
DoCmd.RunSQL (sql)
End Sub