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.
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.
Muy buen ejemplo Angel… te felicito y agradesco q compartas tus conocimientos.
Gracias a ti por leerme, para mi es un placer escribirlos 🙂
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