Publicado el 22 de Marzo del 2018
996 visualizaciones desde el 22 de Marzo del 2018
671,1 KB
9 paginas
Creado hace 10a (23/01/2015)
FACULTAD DE INGENIERIA MECÁNICA Y ELECTRICA
LICENCIATURA EN INGENIERIA EN SISTEMAS
COMPUTACIONALES
Caso práctico: Proyecto Usuario y
contraseña
Materia:
Manejadores de Base de Datos
Maestra:
M. en C. Martha Elizabeth Evangelista Salazar
Septiembre de 2014
1era. Edición
1
Creación y validación de usuario y contraseña en Access 2007 o superior
con la generación de código en Visual Basic 2010
Vamos a crear dos tablas en Access 2007 o superior
Tabla Empleados:
Al inicio el campo privilegio es de tipo texto y por el momento lo dejamos vacio, porque
posteriormente vamos a crear un cuadro de combinado que nos tome los datos de la tabla
privilegios.
Tabla Privilegios
Una vez que llenamos la tabla privilegio vamos a la tabla Empleados y en vista de diseño
nos posicionamos en el campo PRIVILEGIO y en tipo de datos le damos ASISTENTE PARA
BUSQUEDA. Y elegimos buscar el campo en una tabla o consulta y damos siguiente.
2
Siguiente y elegimos la tabla PRIVILEGIOS y seleccionamos el campo tipo (NO ELEGIR EL
CAMPO LLAVE).
Le damos siguiente, siguiente, siguiente y finalizar (con esto nos va a crear la relación con
la tabla empleados).
Si nos vamos a la tabla empleados en vista de diseño notamos que en el campo
PRIVILEGIO, el tipo de dato cambia a numero y en búsqueda de propiedades del campo
nos muestra ….
3
Checamos la tabla empleados y en el campo privilegio nos van aparecer los datos del
campo tipo de la tabla PRIVILEGIOS.
Hay que crear tres formularios (hay que crear formularios en blanco), uno llamado
Admin, otro llamado User1 y otro User2 (cada uno solo abrirá el formulario y mostrara un
pequeño mensaje [etiqueta]), hay que crear formularios en blanco.
Ahora creamos un formulario de Inicio de sesión: Colocamos 2 textbox y un botón, el
botón lo cancelamos porque nosotros vamos a programarlo. Marcamos los dos textbox y
damos botón derecho, después elegimos Diseño apilado, marco el botón y me voy al
menú Formato y cambio el diseño
4
Textbox1 TxtUsuario
Textbox2 Txtcontrasena
Si nos vamos a vista de diseño en el botón ENTRAR DAMOS CLICK DERECHO, y nos vamos
a GENERAR EVENTO, en esa parte vamos a escribir el siguiente código para validar el
usuario y contraseña.
Primero validamos que no se reciba espacios en los txtbox
Private Sub BtnEntrar_Click()
If Nz(Me.TxtUsuario, "") = "" Then
MsgBox "Campo Usuario esta vacio", vbInformation, "Vacio"
Me.TxtUsuario.SetFocus ' Me regresa el cursor al usuario
ElseIf Nz(Me.TxtContrasena, "") = "" Then
MsgBox "Campo Contraseña esta vacio", vbInformation, "Vacio"
Me.TxtContrasena.SetFocus ' Me regresa el cursor a contraseña
End If
End Sub
Hay que ver en modo formulario que esté funcionando.
Nz(value,[value(fnull)]).- Nz es una función para buscar valores nulos
5
Ahora vamos a buscar la contraseña en la tabla empleados en donde el id del empleado es
igual a lo que yo teclee en el TxtUsuario.
El comando dlookup es lo que hace
Private Sub BtnEntrar_Click()
Dim contra As String 'Variable para almacenar la contraseña
If Nz(Me.TxtUsuario, "") = "" Then
MsgBox "Campo Usuario esta vacio", vbInformation, "Vacio"
Me.TxtUsuario.SetFocus ' Me regresa el cursor al usuario
ElseIf Nz(Me.TxtContrasena, "") = "" Then
MsgBox "Campo Contraseña esta vacio", vbInformation, "Vacio"
Me.TxtContrasena.SetFocus ' Me regresa el cursor a contraseña
Else
' Encontrar la contraseña en la tabla Empleado con el IdUsuario dado sea igual
' a lo que yo teclee en TxtUsuario
If Nz(DLookup("Contrasena", "Empleados", "IDEmpleados=" & Me![TxtUsuario]), "")
<> "" Then
contra = DLookup("Contrasena", "Empleados", "IDEmpleados=" & Me![TxtUsuario])
MsgBox "La contraseña es :" & contra
' Nos va a mostrar una prueba de que si busca la contraseña
End If
End If
End Sub
Ahora vamos a buscar que el valor que yo escribo en TxtContraseña sea igual al campo
contraseña de la tabla empleado.
6
Private Sub BtnEntrar_Click()
Dim contra As String 'Variable para almacenar la contraseña
If Nz(Me.TxtUsuario, "") = "" Then
MsgBox "Campo Usuario esta vacio", vbInformation, "Vacio"
Me.TxtUsuario.SetFocus ' Me regresa el cursor al usuario
ElseIf Nz(Me.TxtContrasena, "") = "" Then
MsgBox "Campo Contraseña esta vacio", vbInformation, "Vacio"
Me.TxtContrasena.SetFocus ' Me regresa el cursor a contraseña
Else
' Encontrar la contraseña en la tabla Empleado con el IdUsuario dado
If Nz(DLookup("Contrasena", "Empleados", "IDEmpleados=" & Me![TxtUsuario]), "") <> "" Then
contra = DLookup("Contrasena", "Empleados", "IDEmpleados=" & Me![TxtUsuario])
' MsgBox "La contraseña es :" & contra
' Nos va a mostrar una prueba de que si busca la contraseña
End If
' Comprobamos que la contraseña sea valida
If contra <> Me.TxtContrasena Then
MsgBox "Contraseña invalida ", vbCritical, "ok"
End If
End If
End Sub
Ahora si hay que validar todos los casos por lo tanto el código completo es el siguiente.
7
Código del Botón ENTRAR
Private Sub BtnEntrar_Click()
Dim contra As String 'Variable para almacenar la contraseña
If Nz(Me.TxtUsuario, "") = "" Then
MsgBox "Campo Usuario esta vacio", vbInformation, "Vacio"
Me.TxtUsuario.SetFocus ' Me regresa el cursor al usuario
ElseIf Nz(Me.TxtContrasena, "") = "" Then
MsgBox "Campo Contraseña esta vacio", vbInformation, "Vacio"
Me.TxtContrasena.SetFocus ' Me regresa el cursor a contraseña
Else
' Encontrar la contraseña en la tabla Empleado con el IdUsuario dado
If Nz(DLookup("Contrasena", "Empleados", "IDEmpleados=" & Me![TxtUsuario]), "") <>
"" Then
contra = DLookup("Contrasena", "Empleados", "IDEmpleados=" & Me![TxtUsuario])
MsgBox "La contraseña es :" & contra
' Nos va a mostrar una prueba de que si busca la contraseña
End If
‘Comprobamos que la contraseña sea valida
If contra <> Me.TxtContrasena Then
MsgBox "Contraseña invalida ", vbCritical, "ok"
Else
If Nz(DLookup("Privilegio", "Empleados", "IDEmpleados=" & Me![TxtUsuario]), "") = 1
Then
' Si el usuario = 1 abrirá el formulario Admin
DoCmd.OpenForm "Admin"
ElseIf Nz(DLookup("Privilegio", "Empleados", "IDEmpleados=" & Me![TxtUsuario]), "") =
2 Then
' Si el usuario = 2 abrirá el formulario Usuario1
DoCmd.OpenForm "User1"
Else
' Si es cualquier otro abrirá el formulario Usuario 2
DoCmd.OpenForm "User2"
End If
End If
End If
End Sub
8
Recuerda que si en contraseña el txtbox quiere que aparesca *** hay que irnos a
propiedades de ese txtbox y en mascara de entrada elegir password o contraseña y listo
ya no se visualizará el contenido.
Base de datos e información en:
-
-
Portal de CIAM COQUIMATLÁN
FIME-2014\ManejadoresdeBase de Datos 2014\ManejadoresBD2014\UsuarioContraseña\Usuario
y contraseña Nuevo.docx
9
Comentarios de: Caso práctico: Proyecto Usuario y contraseña (0)
No hay comentarios