Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim stDocName As String
Dim stLinkCriteria As String
'Check to see if data is entered into the UserName combo box
If IsNull(Me.cboStaff) Or Me.cboStaff = "" Then
MsgBox "You must enter a User Name.", vbOKOnly, "Required Data"
Me.cboStaff.SetFocus
Exit Sub
End If
'Check to see if data is entered into the password box
If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
MsgBox "You must enter a Password.", vbOKOnly, "Required Data"
Me.txtPassword.SetFocus
Exit Sub
End If
Set cnn = CurrentProject.Connection
Set rst = New ADODB.Recordset
'Check value of password in tblEmployees to see if this matches value chosen in combo box
If Me.txtPassword.Value = DLookup("strPassword", "tblStaff", "[lngStaff]=" & Me.cboStaff.Value) Then
' Record the ID of the person logging onto the system
rst.Open "tblStaffLogon", cnn, adOpenDynamic, adLockOptimistic
With rst
.AddNew
.Fields("lngStaff") = Me.cboStaff
.Update
.Close
End With
' Log the event in the database log
rst.Open "tblDbLog", cnn, adOpenDynamic, adLockOptimistic
With rst
.AddNew
.Fields("lngLogOp") = Me.cboStaff
.Fields("dtmLogD") = Now()
.Fields("lngLogAct") = 1
.Update
.Close
End With
'Close logon form and open data entry screen
stDocName = "frmIp1"
DoCmd.Close acForm, stDocName, acSaveNo
stDocName = "frmLogon"
DoCmd.Close acForm, stDocName, acSaveNo
stDocName = "frmControlPanel"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
rst.Open "tblDbLog", cnn, adOpenDynamic, adLockOptimistic
With rst
.AddNew
.Fields("lngLogOp") = Me.cboStaff
.Fields("dtmLogD") = Now()
.Fields("lngLogAct") = 3
.Update
.Close
End With
MsgBox "Password Invalid. Please Try Again", vbOKOnly, "Invalid Entry!"
Me.txtPassword.SetFocus
End If
'If User Enters incorrect password 3 times database will shutdown
intLogonAttempts = intLogonAttempts + 1
If intLogonAttempts > 3 Then
rst.Open "tblDbLog", cnn, adOpenDynamic, adLockOptimistic
With rst
.AddNew
.Fields("lngLogOp") = Me.cboStaff
.Fields("dtmLogD") = Now()
.Fields("lngLogAct") = 4
.Update
.Close
End With
MsgBox "You do not have access to this database. Please contact your system administrator.", vbCritical, "Restricted Access!"
Application.Quit
End If
Set rst = Nothing
Set cnn = Nothing