** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Bitacora
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoBitacora

 Responder Responder
Autor
Mensaje
MaccaM Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 06/Octubre/2020
Localización: Barcelona
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Tema: Bitacora
    Enviado: 16/Octubre/2020 a las 16:12
Buenas tardes estoy creando un formulario de Ingreso con acceso con Login y Passwor.

inicialmente va todo bien pero siempre me abre el mismo formulario el de usuario y no consigo el fallo,

lo he creado 3 veces de 0 y siempre acabo igual.

Adjunto codigo.

Saludos a Tod@s

Option Compare Database
Option Explicit
Dim NumIntentos As Integer

Private Sub CmdEntrar_Click()
     Dim auxContraseña As String
    
    'Comprobamos 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("Txtpassword", "Usuarios", "Id_usuario=" & Me![TxtLogin]), "") <> "" Then
                auxContraseña = DLookup("Txtpassword", "Usuarios", "Id_usuario=" & Me![TxtLogin])
            End If
            
            If auxContraseña <> Me.Txtpassword.Value Then
                If NumIntentos > 1 Then
                    NumIntentos = NumIntentos - 1
                    MsgBox "La contraseña introducida es incorrecta" & vbCrLf & _
                        "Le quedan " & NumIntentos & " intentos" & vbCrLf & vbCrLf & _
                        "Por favor, introduzca otra", vbExclamation, "INTRODUCCIÓN INCORRECTA"
                        Me.Txtpassword.Value = ""
                        Me.Txtpassword.SetFocus
                Else
                    MsgBox "Ha superado el numero de intentos", vbCritical, "ADIOS..."
                    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 todas las tablas", vbInformation, "BIENVENIDO USUARIO"
                        Call Usuar
                        
                                          
                        
                        
                End If
                        'DoCmd.OpenForm stDocName, , , stLinkCriteria '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 "Formulario de Navegación", acNormal, "", "", , acNormal


Admin_Exit:
    Exit Function

Admin_Err:
    MsgBox Error$
    Resume Admin_Exit

End Function

Function Usuar()
On Error GoTo Usuar_Err

    DoCmd.OpenForm "Formulario de Navegación Usuari", acNormal, "", "", , acNormal


Usuar_Exit:
    Exit Function

Usuar_Err:
    MsgBox Error$
    Resume Usuar_Exit

End Function

Muchas Gracias por su ayuda.

Saludos
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Enlace directo a este mensaje Enviado: 16/Octubre/2020 a las 22:44
Hola,

Yo empezaría por poner un punto de interrupción y ejecutaría el código paso a paso evaluando los distintos valores y controles que aparecen en el código para detectar cuál es la línea errónea.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
MaccaM Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 06/Octubre/2020
Localización: Barcelona
Estado: Sin conexión
Puntos: 11
Enlace directo a este mensaje Enviado: 19/Octubre/2020 a las 18:09
Eran los índices que al no ser correlativos daba error los elimine y los cree de nuevo y listo.
Muchas Gracias por su ayuda.

Saludos
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable