Acceso usuarios + password Access 2007

Hola, soy nueva en el mundo VB para access. Estoy intentando implementar un código de acceso para usuarios que he encontrado en otro post, pero siempre me falla en la línea 11. Adjunto el código. ¿Alguna idea de que puedo estar haciendo mal?
Private Sub Comando4_Click()
    Dim BaseDatos As Database
    Dim UsuariosRS As Recordset
    Dim BuscarUsuario As String
  Set BaseDatos = CurrentDb()             'Abre la Base de datos
  Set UsuariosRS = BaseDatos.OpenRecordset("Usuaris")  'Abre la tabla Usuarios
  BuscarUsuario = "[Usuari]=" & "'" & Me.Usuario & "'"   'Cadena para buscar el usuario
  UsuariosRS.FindFirst BuscarUsuario                'Busca el Usuario
  If UsuariosRS.NoMatch Then                      'Si no se encuentra el usuario
       MsgBox "Usuario no encontrado"
       'DoCmd.Quit                                           'Finaliza la aplicacion sin dar más opciones
  Else
       If UsuariosRS!Password <> Me.Contrasena Then   ' Si no coincide la contraseña
           MsgBox "La contraseña no es válida"
           'DoCmd.Quit                                           'Finaliza la aplicacion sin dar más opciones
       Else
            MsgBox "Contraseña aceptada.... Bienvenido"
       End If
 End If
End Sub
Muchas gracias y un saludo!

1 respuesta

Respuesta
1
La linea 11 e sun comentario, no debe dar error allí, te sugiero que selecciones solo la linea o la coloques en negritas para identificarla, ademas "Un error" hay millones de posibilidades ... debes indicar el mensaje sin traducirlo, tal cual como lo arroja la aplicación para poder ayudarte mejor.
Gracias y disculpa.. El código este lo ejecuto desde un botón que ejecuta un [Procedimiento de evento]. El mensaje de error es:
<span style="white-space: pre;"> </span>Se ha producido un error '3251' en tiempo de ejecución:
<span style="white-space: pre;"> </span>Operación no válida para este tipo de objeto.

Cuando le doy a Depurar, la línea que marca en amarillo es:
Private Sub Comando4_Click()
    Dim BaseDatos As Database
    Dim UsuariosRS As Recordset
    Dim BuscarUsuario As String
  Set BaseDatos = CurrentDb()             'Abre la Base de datos
  Set UsuariosRS = BaseDatos.OpenRecordset("Usuaris")  'Abre la tabla Usuarios
  BuscarUsuario = "[Usuari]=" & "'" & Me.Usuario & "'"   'Cadena para buscar el usuario
  UsuariosRS.FindFirst BuscarUsuario                'Busca el Usuario
  If UsuariosRS.NoMatch Then                      'Si no se encuentra el usuario
       MsgBox "Usuario no encontrado"
       'DoCmd.Quit                                           'Finaliza la aplicacion sin dar más opciones
  Else
       If UsuariosRS!Password <> Me.Contrasena Then   ' Si no coincide la contraseña
           MsgBox "La contraseña no es válida"
           'DoCmd.Quit                                           'Finaliza la aplicacion sin dar más opciones
       Else
            MsgBox "Contraseña aceptada.... Bienvenido"
       End If
 End If
End Sub
Gracias de nuevo!
[Usuari] ¿así se llama el campo en la tabla?, Me. ¿Usuario no esta vacío?
Revisa la manera como estas abriendo el recordset, porque puede que no acepte las búsquedas y por eso es el mensaje de error.
El campo con el usuario de la tabla usuarios, se llama Usuari.
De Me. Usuario, usuario es el nombre del text box donde cada usuario pone su User, y el Me estaba ya en el código que copié, y entiendo que es para definir que es un texbox.
Sobre lo que comentas del recordset, no entiendo que quieres decir...
Los recordset se pueden abriri para diferentes usos, es posible por el mensaje de error que indicas que el recordset no puedes realizar búsquedas por al forma en que lo abres

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas