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

Tema cerradoAcces No funciona

 Responder Responder
Autor
Mensaje
CacoMarco Ver desplegable
Asiduo
Asiduo


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 258
Enlace directo a este mensaje Tema: Acces No funciona
    Enviado: 11/Febrero/2019 a las 18:42
Estimados, buenas tardes, cuando mi aplicación Access 2016 dejó de funcionar por sugerencia de algunos sitios en internet actualizé la versión del Office365, como el problema seguía, reinstalé nuevamente el office y el problema persistía. Pero era extraño porque a veces si podía ingresar y otras no en el cual Acces me entregaba el mensaje "Microsoft Acces dejó de funcionar".
Mi aplicación comienza con un formulario de Login el cual es una copia que saqué de un video de YouTube "Access desde Cero" y que lamentablemente no tengo el nombre del autor quien tiene varios tutoriales de gran ayuda.
El tema es que cuando le doy a la tecla entrar una vez digitadas las credenciales es cuando se "cae" mostrándome el mensaje que dejó de funcionar. LO curioso es que si ingreso directamente a la BD sin pasar por el Formulario Login el cual quité como formulario que muestra al abrir la aplicación, ahí sí puedo acceder a la aplicación y funciona perfectamente.
Entonces, mi conclusión es que algo en el código del form Login podría estar causando el problema. Por esa razón acudo a ustedes si detectan algún problema en el código porque para mi eso es dificultoso de saber.

Básicamente el formulario pide un usuario y contraseña y su código es el siguiente:

Option Compare Database
Option Explicit

Private Sub Comando1_Click()
Dim OnOfRibbon As Integer
Dim OnOfShift As Integer

If IsNull(Me.txtUsuario) Then
        MsgBox "Por favor, escriba su Usuario", vbInformation, "Usuario requerido"
        Me.txtUsuario.SetFocus
    ElseIf IsNull(Me.txtPass) Then
        MsgBox "POR FAVOR, INGRESE CONTRASEÑA ..", vbInformation, "CONTRASEÑA REQUERIDA"
        Me.txtPass.SetFocus
    Else
        If (IsNull(DLookup("[Usuario]", "Usuarios", "[Usuario] ='" & Me.txtUsuario.Value & _
        "' And Pass = '" & Me.txtPass.Value & "'"))) Then
            MsgBox "USUARIO Y/O CONTRASEÑA INCORRECTOS ...", vbCritical, "ACCESO DENEGADO"
        Else
            OnOfShift = DLookup("Activar_Shift", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
            OnOfRibbon = DLookup("Mostrar_Cinta_Opciones", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
            UserLevel = DLookup("Admin", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
            IPR = DLookup("IngresaPresupuesto", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
            CCO = DLookup("ComponentesCotizados", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
            RCO = DLookup("RepuestosCotizados", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
            OTC = DLookup("OTCenSistema", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
            
            'Validación para Desactivar/Activar tecla Shift
            If OnOfShift = -1 Then
                    TeclaShift "AllowBypassKey", dbBoolean, True
                Else
                    TeclaShift "AllowBypassKey", dbBoolean, False
            End If
                        
                            'Validación para Mostrar/Ocultar la Cinta de Opciones
                            If OnOfRibbon = -1 Then
                                    DoCmd.ShowToolbar "Ribbon", acToolbarYes
                                Else
                                    DoCmd.ShowToolbar "Ribbon", acToolbarNo
                            End If
            
            'Validación para identificar al Administrador
            If UserLevel = -1 Then
                    LogedUser = Me.txtUsuario.Value
                    DoCmd.Close
                    'DoCmd.OpenForm "FrmPortada"
                    DoCmd.OpenForm "Menu_Principal"
                Else
                    LogedUser = Me.txtUsuario.Value
                    DoCmd.Close
                    'DoCmd.OpenForm "FrmPortada"
                    DoCmd.OpenForm "Menu_Principal"
            End If
    End If
End If

End Sub

Private Sub Form_Load()


TeclaShift "AllowBypassKey", dbBoolean, False 'Desactiva la tecla Shift
DoCmd.ShowToolbar "Ribbon", acToolbarNo 'Oculta la Cinta de Opciones
    
    Me.txtUsuario.SetFocus

End Sub

 Las variables que aparecen son públicas y están creadas en un módulo de esta forma:

Public vForm As String
Public UserLevel As Integer
Public LogedUser As String
Public IPR, CCO, RCO, OTC As Boolean

Gracias a todos,

CacoMarco/Chile
Arriba
CacoMarco Ver desplegable
Asiduo
Asiduo


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 258
Enlace directo a este mensaje Enviado: 11/Febrero/2019 a las 18:55
Olvidé citar la estructura de la tabla Usuarios:
Nombre del Campo Tipo de datos
ID_USUARIO Autonumeración (clave principal)
Nombre_Usuario Texto Largo
Usuario Texto Corto
Pass Texto Corto
Admin Si/NO
UsuariosData SI/NO
IngresoalSistema SI/NO
IngresaPresupuesto SI/NO
ComponentesCotizados SI/NO
RepuestosCotizados SI/NO
OTCenSistema SI/NO
StockOTC SI/NO
Mostrar_Cinta_Opciones SI/NO
Activar_Shift SI/NO


Marcos R



CacoMarco/Chile
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11856
Enlace directo a este mensaje Enviado: 11/Febrero/2019 a las 19:06
Hola,

Pon un Stop al inicio del procedimiento y ejecuta paso a paso. Por lo menos sabrás/sabremos en que linea se cae y será más fácil dar con una solución.

Un saludo

Xavi, un minyó de Terrassa

Mi web
Arriba
CacoMarco Ver desplegable
Asiduo
Asiduo


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 258
Enlace directo a este mensaje Enviado: 13/Febrero/2019 a las 00:23
Gracias por responder Xavi, hice lo que me has recomendado y no se cae.
Además, depuré la aplicación (compilación) y tampoco me dió ningún error.
No obstante, y como mencioné antes no ingreso a la aplicación con ese formulario Login y todo funciona bien.
Voy a tener que ver una nueva forma de crear un login que no me de problemas. Cualquier sugerencia será bien venida.
Gracias de todos modos se agradece mucho vuestro tiempo.

Favor cerrar el hilo.
CacoMarco/Chile
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5094
Enlace directo a este mensaje Enviado: 13/Febrero/2019 a las 01:20
Hola!

Por opinar, no será porque declaras las variables OnOfRibbon y nOfShift) como Integer, mientras en el DLookUp podría ser tipo Texto?
Un Saludo.
Arriba
CacoMarco Ver desplegable
Asiduo
Asiduo


Unido: 12/Octubre/2011
Localización: Chile
Estado: Sin conexión
Puntos: 258
Enlace directo a este mensaje Enviado: 13/Febrero/2019 a las 01:48
Mounir, fíjate que pequeño y gran detalle.
Corregí el tipo de variable y ya está !!!
:)

Un montón de gracias Thumbs Up
Ahora si, favor cerrar el hilo.
CacoMarco/Chile
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable