DVDaDVD±R

DVDaDVD±R (http://www.dvdadvdr.com/forums/index.php)
-   PC Software (http://www.dvdadvdr.com/forums/forumdisplay.php?f=14)
-   -   Error en base de datos Access (http://www.dvdadvdr.com/forums/showthread.php?t=70666)

Sukhoi 03-Jul-2017 19:49

Error en base de datos Access
 
Muy buenas,

Tengo una pequeña base de datos Access de creación propia la cual funciona bastante bien, solo que me da un error en un sitio y no me explico el porqué...

La base en sí es muy sencillita, he creado unos usuarios con permisos de administrador y otros solo como usuarios.

Los usuarios con permisos de administrador tienen acceso total a la base de datos y los usuarios solo a las consultas.

Bien, resulta que si un usuario entra a la base de datos ya le sale la consulta, si pone los datos que le pide, le sale lo que ha consultado. El problema está en que si en vez de meter los datos que le pide para hacer la consulta pulsa la tecla Cancelar. Entonces me sale el error '2001' en tiempo de ejecución. Le doy a Depurar y me resalta en amarillo esta frase:

DoCmd.OpenQuery "Busqueda por nombre"

Aquí os dejo el código entero para que veáis como esta.


Private Sub Comando1_Click()
Dim UserLevel 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 su Contraseña", vbInformation, "Contraseña requqerida"
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"
Else
UserLevel = DLookup("Nivel_Seguridad", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")

If UserLevel = 1 Then
DoCmd.Close
MsgBox "Bienvenido!!!", , "Administrador"
DoCmd.OpenForm "Principal"
Else
DoCmd.Close
DoCmd.OpenQuery "Busqueda por nombre"
End If
End If
End If
End Sub

Porque da ese fallo? El resto de la base de datos funciona bien, no me da ningún error. Es solo esta cosita que no se porque lo hace.

Un saludo a todos

adv_h67 03-Jul-2017 20:35

Prueba a poner justo después del primer Sub()

On Error Resume Next


y justo antes del End Sub:

On Error Goto 0


La franja horaria es GMT +1. Ahora son las 11:04.

Desarrollado por: vBulletin®
Derechos de Autor ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducido por mcloud de vBhispano.com

vBulletin, Copyright ©2000 - 2003, Jelsoft Enterprises Limited