Sunteți pe pagina 1din 2

Private Sub CmdAceptar_Click()

' Buscamos el dni en la tabla tblUsuarios, en caso de no


' encontrarlo avisaremos con un mensaje y saldremos del
' procedimiento.

If IsNull(DLookup("IdUsuario", "tblUsuarios", "IdUsuario = '" & Me.txtIdUsuario &


"'")) Then
Call MsgBox("El usuario no existe en nuestra base de datos.", vbCritical,
"Atenci�n")
Exit Sub
End If

' Si llegamos hasta aqu� es porque el dni existe


' en la base de datos, por lo tanto vamos a
' comprobar si la contrase�a coincide con la del
' dni introducido.

' Primero creamos una variable para


' guardar la contrase�a del usuario
' que previamente hemos validado.

Dim sContrase�a As String


sContrase�a = DLookup("Contrase�a", "tblUsuarios", "IdUsuario = '" &
Me.txtIdUsuario & "'")

' Una vez tenemos la contrase�a en la variable "sContrase�a"


' la contrastamos con la que ha introducido el usuario
' en el formulario de validaci�n.

If sContrase�a = Me.txtContrase�a Then


' Informamos al usuario de que la contrase�a
' es correcta y cerramos el formulario
' d�ndole paso al resto de la aplicaci�n

' Adem�s, como somos un programador que mimamos


' los detalles le daermos el mensaje personalizado
' con su nombre al usuario, para ello, buscamos primero
' en la tabla, el nombre que corresponde con el dni
' introducido.

Dim sNombre As String


sNombre = DLookup("Nombre", "tblUsuarios", "idUsuario= '" & _
Me.txtIdUsuario & "'")

' Con el nombre del usuario en la variable "sNombre"


' procedemos a mostrar el mensaje personalizado.

Call MsgBox("Bienvenido " & sNombre & ", puede acceder al sistema." _
, vbInformation, "Datos correctos")

' Antes de cerrar el formulario vamos a guardar el idUsuario


' en la tabla "tblUsuarioActivo"
Dim sSQL As String
' Creamos una sentencia SQL que es una consulta de
' actualizaci�n de la tabla

sSQL = "UPDATE tblUsuarioActivo SET " _


& "tblUsuarioActivo.IdUsuario = '" & Me.txtIdUsuario & "'"
' Al ejecutar la siguiente l�nea, al ser una consulta
' de actualizaci�n, Access mandar� unos mensajes
' muy impertinentes sobre si quieres hacerlo o no
' pero al usuario de la aplicaci�n no tiene que tomar
' esa decisi�n as� que primero desactivamos los mensajes
' del sistema y a continuaci�n ejecutamos la consulta

DoCmd.SetWarnings False
DoCmd.RunSQL sSQL
' Una vez ejecutada volvemos a activar los mensajes del sistema
DoCmd.SetWarnings True

DoCmd.Close
Else

' Si es incorrecta, informamos al usuario y llevamos


' el cursos de nuevo al cuadro de texto de la contrase�a
' para que el usuario vuelva a escribirla.
Call MsgBox("La contrase�a es incorrecta. Vuelva a intentarlo.", _
vbExclamation, "Datos correctos")
Me.txtContrase�a.SetFocus
End If
End Sub

Private Sub CmdCancelar_Click()


DoCmd.Quit
End Sub

S-ar putea să vă placă și