Ayuda con código VBA
Estimado Neckkito:
Ojala me puedas ayudar
Tengo una bd en access con un formulario de login de usuario que valida si otro usuario esta utilizando la BD mediante una tabla bitácora que registra el inicio de sesión y el cierre, al intentar logearse otro usuario detecta en la tabla bitácora que si una sesión no esta cerrada envíe el mensaje "otro usuario esta haciendo uso de la bd intente mas tarde". No logro que resulte correctamente este es el código:
Private Sub CmdEntrar_Click()
Dim AuxContraseña As String
Dim rst As dao.Recordset
'comprobamos que hay datos en las cajas de texto
If Nz(TxtLogin.Value, "") = "" Then
MsgBox "Seleccione un nombre de la lista para poder acceder", vbInformation, "ATENCIÓN"
Me.TxtLogin.SetFocus
ElseIf Nz(Me.TxtPassword.Value, "") = "" Then
MsgBox "Introduzca la contraseña del usuario seleccionado", vbInformation, "ATENCIÓN"
Me.TxtPassword.SetFocus
Else
If Nz(DLookup("Password", "Usuarios", "Id_Usuario=" & Me![TxtLogin]), "") <> "" Then
AuxContraseña = DLookup("Password", "usuarios", "Id_Usuario=" & Me![TxtLogin])
End If
If AuxContraseña <> Me.TxtPassword.Value Then
If NumIntentos > 2 Then
NumIntentos = NumIntentos - 1
MsgBox "La contraseña introducida es incorrecta" & vbCrLf & _
"Le quedan " & NumIntentos & " intentos" & vbCrLf & vbCrLf & _
"Por favor, introduzca otra", vbExclamation, "INTRODUCCIÓN INCORRECTA"
Me.TxtPassword.Value = ""
Me.TxtPassword.SetFocus
Else
MsgBox "Ha superado el número de intentos", vbCritical, "ADIÓS..."
DoCmd.Close acForm, Me.Name 'y cerramos el acceso
End If
Else
Set rst = CurrentDb.OpenRecordset("Bitácora", dbOpenTable)
rst.MoveLast
Do Until rst.EOF
If rst.Fields("Hr_salida").Value = "" Then
MsgBox "OTRO USUARIO ESTA UTILIZANDO LA BD FAVOR INTENTE MAS TARDE", vbInformation, "ATENCIÓN"
Me.TxtLogin.SetFocus
Else
If DLookup("Id_Acceso", "Usuarios", "Id_Usuario=" & Me![TxtLogin]) = 1 Then
MsgBox "Bienvenido", vbInformation, "BIENVENIDO"
Call Admin
Else
MsgBox "Bienvenido", vbInformation, "BIENVENIDO"
Call Usuar
End If
'DoCmd.OpenForm stDocName, , , stLinkCriteria 'Abrimos el formulario correspondiente
DoCmd.Close acForm, Me.Name ' y cerramos el de acceso
End If
End If
Loop
End If
End Sub