
Codigo para VB
Publicado por Adolfo (1 intervención) el 24/04/2014 00:27:01
Alguien que me pueda ayudar a que este formulario funcione correctamente, es para un acceso en una base de datos en access.
Ya me accesa a los formularios pero ahora kiero agregar un nuevo grupo de usuarios, por ejemplo taller, y que el numero de intentos sea funcional ya en el primer intento te cierra el formulario, ademas que cuando cierre el formulario lo vuelva abrir, estos datos deben gaurdarse en una tabla que se llama bitacora pero solo almacena el dato del usuario actual, me gustaria guardara los datos de cada uno.
Option Compare Database
Option Explicit
Dim NumIntentos As Integer
Private Sub CmdEntrar_Click()
Dim auxContraseña As String
If Nz(Me.txtLogin.Value, "") = "" Then
MsgBox "Selecione un nombre de usuario de la lista para acceder", vbInformation, "ATENCION"
Me.txtLogin.SetFocus
ElseIf Nz(Me.txtPassword.Value, "") = "" Then
MsgBox "introduzca la contraseña del usuario seleccionado", vbInformation, "ATENCION"
Me.txtPassword.SetFocus
Else
If Nz(DLookup("Password", "Usuario", "Id_usuario=" & Me![txtLogin]), "") <> "" Then
auxContraseña = DLookup("Password", "Usuario", "Id_usuario=" & Me![txtLogin])
End If
If auxContraseña <> Me.txtPassword.Value Then
If NumIntentos > 3 Then
NumIntentos = NumIntentos - 3
MsgBox "La contraseña introducida es ERRONEA" & vbCrLf & _
"Le quedan" & NumIntentos & "intentos" & vbCrLf & vbCrLf & _
"Por favor, introduzca otra", vbExclamation, "INTRODUCCION INCORRECTA"
Me.txtPassword.Value = ""
Me.txtPassword.SetFocus
Else
MsgBox "Se notificara al Administrador.", vbCritical, "Contraseña Erronea"
DoCmd.Close acForm, Me.Name
End If
Else
If DLookup("Id_acceso", "Usuario", "Id_usuario=" & Me![txtLogin]) = 1 Then
MsgBox "Bienvenido, Que tengas un excelentedia.", vbInformation, "..Administrador.."
Call Admin
Else
MsgBox "Ud, ha entrado como Usuario", vbInformation, "BIENVENIDO USUARIO"
Call Usuar
End If
DoCmd.Close acForm, Me.Name
End If
End If
End Sub
Function Admin()
On Error GoTo Admin_Err
DoCmd.OpenForm "Admin", acNormal, "", "", , acNormal
Admin_Exit:
Exit Function
Admin_Err:
MsgBox Error$
Resume Admin_Exit
End Function
Function Usuar()
On Error GoTo Usuar_Err
DoCmd.OpenForm "Usuario", acNormal, "", "", , acNormal
Usuar_Exit:
Exit Function
Usuar_Err:
MsgBox Error$
Resume Usuar_Exit
End Function
Private Sub Hr_ingreso_AfterUpdate()
If Hr_Ingreso <> 0 Then
[ACTUAL] = Date
End Sub
Ya me accesa a los formularios pero ahora kiero agregar un nuevo grupo de usuarios, por ejemplo taller, y que el numero de intentos sea funcional ya en el primer intento te cierra el formulario, ademas que cuando cierre el formulario lo vuelva abrir, estos datos deben gaurdarse en una tabla que se llama bitacora pero solo almacena el dato del usuario actual, me gustaria guardara los datos de cada uno.
Option Compare Database
Option Explicit
Dim NumIntentos As Integer
Private Sub CmdEntrar_Click()
Dim auxContraseña As String
If Nz(Me.txtLogin.Value, "") = "" Then
MsgBox "Selecione un nombre de usuario de la lista para acceder", vbInformation, "ATENCION"
Me.txtLogin.SetFocus
ElseIf Nz(Me.txtPassword.Value, "") = "" Then
MsgBox "introduzca la contraseña del usuario seleccionado", vbInformation, "ATENCION"
Me.txtPassword.SetFocus
Else
If Nz(DLookup("Password", "Usuario", "Id_usuario=" & Me![txtLogin]), "") <> "" Then
auxContraseña = DLookup("Password", "Usuario", "Id_usuario=" & Me![txtLogin])
End If
If auxContraseña <> Me.txtPassword.Value Then
If NumIntentos > 3 Then
NumIntentos = NumIntentos - 3
MsgBox "La contraseña introducida es ERRONEA" & vbCrLf & _
"Le quedan" & NumIntentos & "intentos" & vbCrLf & vbCrLf & _
"Por favor, introduzca otra", vbExclamation, "INTRODUCCION INCORRECTA"
Me.txtPassword.Value = ""
Me.txtPassword.SetFocus
Else
MsgBox "Se notificara al Administrador.", vbCritical, "Contraseña Erronea"
DoCmd.Close acForm, Me.Name
End If
Else
If DLookup("Id_acceso", "Usuario", "Id_usuario=" & Me![txtLogin]) = 1 Then
MsgBox "Bienvenido, Que tengas un excelentedia.", vbInformation, "..Administrador.."
Call Admin
Else
MsgBox "Ud, ha entrado como Usuario", vbInformation, "BIENVENIDO USUARIO"
Call Usuar
End If
DoCmd.Close acForm, Me.Name
End If
End If
End Sub
Function Admin()
On Error GoTo Admin_Err
DoCmd.OpenForm "Admin", acNormal, "", "", , acNormal
Admin_Exit:
Exit Function
Admin_Err:
MsgBox Error$
Resume Admin_Exit
End Function
Function Usuar()
On Error GoTo Usuar_Err
DoCmd.OpenForm "Usuario", acNormal, "", "", , acNormal
Usuar_Exit:
Exit Function
Usuar_Err:
MsgBox Error$
Resume Usuar_Exit
End Function
Private Sub Hr_ingreso_AfterUpdate()
If Hr_Ingreso <> 0 Then
[ACTUAL] = Date
End Sub
Valora esta pregunta


0