Añadir mas user a la tabla de validación usuario

Llevo muy poco con VBA, mi intención es poder añadir mas usuarios con su contraseña a la tabla Pass, y que los pueda validar con el siguiente código,

Option Compare Database
Option Explicit
Private Sub cboUser_AfterUpdate()
Me.txtPass.SetFocus
End Sub
Private Sub cmdAceptar_Click()
Dim vUser As Variant
Dim vPass As Variant
vUser = Me.cboUser.Value
vPass = Me.txtPass.Value
If IsNull(vUser) Then
MsgBox "No ha seleccionado ningún usuario", vbInformation, "AVISO"
Me.cboUser.SetFocus
Exit Sub
End If
If IsNull(vPass) Then
MsgBox "No ha introducido ninguna contraseña", vbInformation, "AVISO"
Me.txtPass.SetFocus
Exit Sub
End If
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("TPass", dbOpenSnapshot)
If rst.RecordCount = 0 Then
MsgBox "No existen usuarios", vbInformation, "AVISO"
GoTo Salida
End If
rst.MoveFirst
Do Until rst.EOF
Dim tUser, tPass As String
tUser = rst.Fields(0).Value
tPass = rst.Fields(1).Value
If tUser = vUser Then
If tPass = vPass Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "INICIO BD"
Else
MsgBox "La contraseña introducida no es correcta", _
vbInformation, "INCORRECTO"
Me.txtPass.SetFocus
Me.txtPass.Value = Null
GoTo Salida
End If
End If
rst.MoveNext
Loop
Salida:
rst.Close
Set rst = Nothing
End Sub
Private Sub cmdCancelar_Click()
Dim resp As Integer
resp = MsgBox("¿Seguro que desea cancelar?", vbQuestion + vbYesNo, "CONFIRMAR")
If resp = vbYes Then
DoCmd.Quit
End If
End Sub

El código lo encontré en esta misma web y funciona perfectamente para un solo usuario, pero en cuando le meto dos a la tabla de Pass ya da error a la hora de validarlo.

Creo que hay que añadir alguna linea mas referida a rst. Fields pero no encuentro algo relacionado para poder acoplarlo a mi necesidad.

Añadirlos a la tabla no tengo problema haciéndolo mediante código, pero no me vale de nada si no se pueden validar.

1 Respuesta

Respuesta
1

Echa un vistazo a esta página: http://bit.ly/1c3GNR0

El primer ejemplo de la lista es el que estás manejando. El segundo es el mismo, pero con limitación de intentos. El tercero es el mismo que el primero un poco más "ampliado".

Si te bajas la BD de ejemplo del primer ejemplo ("Contraseña") verás que funciona perfectamente para todos los usuarios que quieras.

Desconozco por qué en tu aplicación no funciona. Imagino que debe haber por ahí alguna cosa que influye en la sistemática, pero sin verlo...

Lo dicho: bájate la BD de ejemplo y pruébala, y si te funciona tienes un pdf explicativo para adaptar el ejemplo a tu BD.

Si te digo la verdad creo que access 2013 y vba no se llevan para nada, llevo poco tiempo aprendiendo vba pero lo que si se que no es normal que unas veces funciones y luego de errores, voy a ver que tal me viene el ejmplo

Ok.

Acuérdate de ir compactando la BD mientras haces pruebas para que no quede nada raro "pillado" en Access.

Ya me dirás qué tal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas