Access – La estructura If…Then…Else…End If

Las estructuras If…Then…Else…End If comprueban una confición y, en base a la evaluación, realizan una acción. La condición debe evaluar un valor booleano (Verdadero o Falso). Si la condición es Verdadero, el programa pasará a la siguiente línea de la sentencia If. Si la condición es Falso, saltará a la sentencia Else, en caso de que la haya o, a la sentencia End If cuando no haya cláusula Else.

La sentencia Else es opcional. La utilizaremos para ejecutar un conjunto de acciones alternativo en caso de que la condición If sea falsa.

Veamos un ejemplo muy sencillo donde ponerlo en práctica. Tenemos un formulario de acceso a nuestra base de datos donde los usuarios introducen su DNI y contraseña y, una vez comprobados los datos, le damos acceso.

Sentencia IF

 

Para comprobar el Password primero buscamos en la tabla tblUsuarios, que contiene los campos DNI y Password, ambos tipo texto, el password correspodiente al DNI introducido y a continuación evaluamos ese password con el que el usuario ha escrito en el formulario. La expresión devolverá Verdadero si coinciden y Falso en caso contrario.

Private Sub btnAceptar_Click()
Dim sPassword As String
Dim dFecha As Date
'Recuperamos el Password
sPassword = Nz(DLookup("Password", "tblUsuarios", "DNI='" & Me.txtDNI & "'"), "")
'Con una primera sentencia If comprobamos si el password recuperado
'coincide con el introducido por el usuario
If sPassword = Me.txtPassword Then
MsgBox "Password correcto, puedes entrar a la base de datos"
DoCmd.Close
Else
MsgBox "Password incorrecto, no puedes acceder a la base de datos"
DoCmd.Quit
End If
End Sub

Solo hay que aplicar el código en el evento «Al hacer Click» del botón Aceptar.

3 comentarios

  1. Angel, una consulta, necesito a partir de un listado predefinido realizar una seleccion, y que esa misma defina textos en dos campos mas, en total son 5 condiciones pero no tengo las propiedades del objeto de la lista para poder realizar la condicion, me puede apoyar por favor, mil gracias de antemao

Responder a Juan Carlos Cancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.