ACCES Y VISUAL BASIC
Visual Basic es un lenguaje de programacion muy potente que nos permite realizar cosas increibles si lo combinamos con Acces, para este ejercicio vamos a crear un modulo de login que muestre segun sea el tipo de usuario un formulario completamente distinto segun el tipo de usuario.
Observa el siguiente video:
Sigue los pasos necesarios para crear el loguin propuesto en el video, posteriormente debes hacer que el administrador, el usuario 2 y el usuario 3 abran un formulario de los que estas manejando en el examen.
Codigo de soporte:
Option Compare Database
Option Explicit
Dim numintentos As Integer
Private Sub cmdentrar_Click()
Dim auxcontraseña As String
'Comprobando que hay datos en las cajas de texto
If Nz(Me.TxtLogin.Value, "") = "" Then
MsgBox "Seleccione un nombre de usuario de la lista para acceder", vbInformation, "ATENCION"
Me.TxtLogin.SetFocus
ElseIf Nz(Me.TxtPassword.Value, "") = "" Then
MsgBox "Introduzca la contraseña del usuario seleccionado", vbInformation, "ATENCION"
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 intrucida es incorrecta" & vbCrLf & _
"Le quedan " & numintentos & " intentos" & vbCrLf & vbCrLf & _
"Por favor, introduzca otra", vbExclamation, "CONTRASEÑA INCORRECTA"
Me.TxtPassword.Value = ""
Me.TxtPassword.SetFocus
Else
MsgBox "Ha superado el número de intentos", vbCritical, "Gracias.."
DoCmd.Close acForm, Me.Name 'y cerramos el de acceso
End If
Else
If DLookup("id_acceso", "Usuarios", "Id_usuario=" & Me![TxtLogin]) = 1 Then
MsgBox "Ha entrado el administrador, mostramos todas las tablas", vbInformation, "BIENVENIDO ADMINISTRADOR"
Call Admin
Else
MsgBox "Ha entrado un usuario, ocultamos las tablas", vbInformation, "BIENVENIDO USUARIO"
Call usuario
End If
'docmd.openform stdocname, , , stlinkcristeria 'abrimos el formulario correspondiente
DoCmd.Close acForm, Me.Name ' y cerramos el de acceso
End If
End If
End Sub
Function Admin()
On Error GoTo admin_err
DoCmd.OpenForm "Admin", acNormal, "", "", , acNormal
admin_exit:
Exit Function
admin_err:
MsgBox Error$
Resume admin_exit
End Function
Function usuario()
On Error GoTo usuar_err
DoCmd.OpenForm "usuario", acNormal, "", "", , acNormal
usuar_exit:
Exit Function
usuar_err:
MsgBox Error$
Resume usuar_exit
End Function
Private Sub Detalle_Click()
End Sub
Private Sub Fc_ingreso_Click()
End Sub
Private Sub Form_Current()
End Sub