hice este codigo y me funcioa bien pero no se como agregar mas usuarios
como puedo meter mas usuarios en este codigo
ya lo intente de varias formas y no puedo
Private Sub comando5_click()
USERAME.SetFocus
If USERAME = "ZZ96HP" And PASSWORD = "Blas22" Then
MsgBox "Accseso Aprobado", vbInformation, "Acceso para cambio de programación"
MsgBox " BIENVENIDO blas ", vbInformation, "Tabla para de Acceso a cambio"
On Error GoTo Err_Comando5_Click
If Me.Dirty Then Me.Dirty = False
DoCmd.Close
DoCmd.OpenQuery "Actividades Sugeridas Para Fin de Semana"
Exit_Comando5_Click:
Exit Sub
Err_Comando5_Click:
MsgBox Err.Description
Resume Exit_Comando5_Click
Else
MsgBox "Por favor Reintenta Otra Vez o pide tu Contraseña Con El Administrador", vbInformation, "Administrador Sr Blas"
End If
End Sub
Saludo......
Hola
lo suyo es que los usuarios estén en una tabla de la base de datos, no en el código,
así es más fácil añadir nuevos usuarios, o marcarlos como activos o inactivos con un campo auxiliar...
normalmente las contraseñas se guardan cifradas,
y puedes consultar a tu tabla de usuarios si hay alguien con el nombre de usuario y contraseña que han introducido
por ejemplo, la consulta siguiente devolverá como resultado 1 si encuentra un usuario (utilizo una tabla llamada tabla_usuarios un campo Id, usr para el nombre de usuario y pwd para la contraseña cifrada, y un campo activo para saber si el usuario está activo o no)
Select Count(Id) as auxiliar from tabla_usuarios where usr="nombredelusuario" and pwd="contraseñacifrada" and activo=TRUE
si el resultado es 0, es que no hay usuarios con esos datos.
------
Ya sé Excel, pero necesito más.
ya creada la tabla sustituyo lo que tengo por esto
Select Count(Id) as auxiliar from tabla_usuarios where usr="nombredelusuario" and pwd="contraseñacifrada" and activo=TRUE
o en que parte quedaria
saludo.y gracias por tu respuesta
Esto es como un origen de datos, como una consulta, así que puedes guardarlo en un recordset, puede ser el origen de un control, etc.
-- hago un inciso--
Igual puede ser interesante también recuperar el Id del usuario que inicia sesión
en este caso en vez de Select Count(Id) ...
pondría directamente Select Id from ...
imagino que no puede haber dos usuarios con el mismo nombre en el sistema
------
te dejo un ejemplo de cómo se puede hacer esto, no hay una solución única
(he visto en otra pregunta del foro tuya que planteas un ejemplo que se resuelve con DLookup)
Private Sub boton_iniciar_sesion_Click()
' comprobamos usuario
Dim DB As Database
Dim RS As Recordset
Dim Consulta As String
Consulta = "select * from " & const_tabla_usuarios & " where activo = true and usr = '" & Me.usuario.Value & "' and pwd = '" & Me.pwd.Value & "'"
' buscamos usuario activo con ese usuario y contraseña
Set DB = CurrentDb
Set RS = DB.OpenRecordset(Consulta)
If RS.RecordCount = 0 Then
' datos incorrectos
MsgBox "datos de acceso incorrectos", vbOKOnly + vbCritical, Título
Me.usuario.SetFocus
Exit Sub
Else
' datos correctos
' tienes el id del usuario en RS!Id
End If
RS.Close
Set DB = Nothing
Set RS = Nothing
End Sub
------
Ya sé Excel, pero necesito más.