Entrar en formulario diferentes según Usuario

Mi pregunta es que modificación tendría que hacer el el código que dejo al final para según el usuario entre en un formulario o otro.

La BD que tengo entras con usuario y contraseña pero ponga el que ponga me habré siempre el mismo y lo que quisiera es que me abriera un formulario o otro según el usuario que ingrese.

Esto es lo que tengo que modificación le tendría que hacer.

Private Sub cmdAceptar_Click()
'Requiere registro de la librería "Microsoft DAO 3.6 Object Library" o
'módulo equivalente
'Declaramos las variables
Const numIntentos As Byte = 3 'Aquí definimos el número de intentos que queremos permitir
Dim vUser As Variant
Dim vPass As Variant
Dim tUser As String, tPass As String
Dim rst As Recordset
'Cogemos el valor del usuario
vUser = Me.cboUser.Value
'Cogemos el valor de la contraseña
vPass = Me.txtPass.Value
'Si no hay usuario avisamos y salimos
If IsNull(vUser) Then
MsgBox "No ha seleccionado ningún usuario", vbInformation, "AVISO"
Me.cboUser.SetFocus
Exit Sub
End If
'Si no hay contraseña avisamos y salimos
If IsNull(vPass) Then
MsgBox "No ha introducido ninguna contraseña", vbInformation, "AVISO"
Me.txtPass.SetFocus
Exit Sub
End If
'Creamos un recordset sobre la tabla TPass
Set rst = CurrentDb.OpenRecordset("TPass", dbOpenSnapshot)
'Si no hay registros avisamos y saltamos a Salida
If rst.RecordCount = 0 Then
MsgBox "No existen usuarios", vbInformation, "AVISO"
GoTo Salida
End If
'Nos movemos al primer registro e iniciamos el recorrido de registros
rst.MoveFirst
Do Until rst.EOF
'Cogemos los valores de usuario y pass de la tabla
tUser = rst.Fields(0).Value
tPass = rst.Fields(1).Value
'Si coinciden damos entrada a la BD
If tUser = vUser Then
If tPass = vPass Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "Panel_Control"
'Si no coinciden...
Else
'Miramos en qué número de intento estamos, que nos viene dado por
'el valor de txtContador
If Me.txtContador.Value = numIntentos Then
'Si hemos superado el número de intentos decimos adiós al usuario
MsgBox "Ha superado el número de intentos. La aplicación se cerrará", vbCritical, "CERRAR"
DoCmd.Quit
Else
'Si aún no ha superado el número de intentos dejamos que lo pruebe de nuevo
MsgBox "La contraseña introducida no es correcta." & vbCrLf & vbCrLf & _
"Dispone de " & numIntentos - Me.txtContador.Value & _
IIf(numIntentos - Me.txtContador.Value = 1, " intento más", " intentos más"), _
vbInformation, "INCORRECTO"
Me.txtPass.SetFocus
Me.txtPass.Value = Null
'Añadimos una unidad al valor de txtContador
Me.txtContador.Value = Me.txtContador.Value + 1
GoTo Salida
End If
End If
End If
'Nos movemos al siguiente registro
rst.MoveNext
Loop
Salida:
'Cerramos conexiones y liberamos memoria
rst.Close
Set rst = Nothing
End Sub

1 respuesta

Respuesta
1

Ese código lo sacaste de la web de Neckkito, ¿verdad?. Pues si te fijas, en esa web hay un par de ejemplos que explican cómo acceder según distintos tipos de usuarios:

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/seguridad

Básicamente, lo que tienes que hacer es poner un campo en tu tabla de usuarios que indique el tipo de usuario, y luego, usar un Select Case para abrir un formulario u otro en función del tipo de usuario. Te remito a los ejemplos para una explicación detallada.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas