Mylton
Member
- Local time
- Yesterday, 20:58
- Joined
- Aug 3, 2019
- Messages
- 124
Good afternoon
I'm starting this study of login associated with permission by group to later implement the permission to execute or not the tasks by user action in the form.
There are two questions:
1) The login system for Admin and test 01 users opens and shows the name of the logged-in person in the main menu.
However Login Test 2 and Test 3 the command button doesn't even work.
I've seen, corrected and tried... and I don't find the blessed error.
2) When I stop commenting the lines referring to the navigation command buttons (Bt_Nav_1, Bt_Nav_2 and Bt_Nav_3) in the Frm_Login coding to work according to the logged in user, it displays the error that it was unable to locate the field "Bt_Nav_1 or 2 or 3" referred to in your expression.
Below the entire coding of the form (also attached)
Option Compare Database
Private Sub Bt_Login_Click()
'Crio a variavel Nivel usuário
Dim NivelUsuario As Integer
'Crio a variavel TempSenha que será a senha temporária dada ao novo usuário
Dim TempSenha As String
'Crio a variavel ID
Dim ID As Integer
'Crio a variavel paara Usuário atual do form menu principal
Dim UsuarioTemp As String
If IsNull(Me.txt_Usuario) Then
MsgBox "Entre com nome do usuário.", vbInformation, "Nome do Usuário Necessário"
Me.txt_Usuario.SetFocus
ElseIf IsNull(Me.txt_Senha) Then
MsgBox "Digite a senha.", vbInformation, "Senha Necessária"
Me.txt_Senha.SetFocus
Else
' Nome do usuario/Tbl Usuario, Tbl Usuario, Nome do usuario/Tabl Usuario /Nome campo usuario Form
If (IsNull(DLookup("Nome_Usuario", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'"))) Or _
IsNull(DLookup("Senha_Usuario", "Tbl_Usuario", "Senha_Usuario='" & Me.txt_Senha.Value & "'")) Then
' Acima = Senha do usuario/Tbl Usuario, Tbl Usuario, Senha do usuario/Tabl Usuario /Nome campo senha do usuario Form
MsgBox "Nome do usuário ou senha errados.", vbInformation, "Acesso negado"
Me.txt_Usuario = ""
Me.txt_Senha = ""
Me.txt_Usuario.SetFocus
Else
'Uso a variavel NivelUsuario
NivelUsuario = DLookup("[Nivel_Usuario]", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'")
'Uso a variavel TempSenha
TempSenha = DLookup("[Senha_Usuario]", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'")
'Uso a variavel ID
ID = DLookup("Id_Usuario", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'")
'Uso a variavel UsuárioTemp
UsuarioTemp = Me.txt_Usuario
If (TempSenha = "Senha_Usuario") Then
DoCmd.OpenForm "Frm_Cad_Usuario", , , "[Id_Usuario]=" & ID
Else
'Função usuario logado Administrador
If NivelUsuario = 1 Then
MsgBox "Acesso permitido", vbInformation, "Autenticação efetuada com sucesso"
DoCmd.OpenForm "Frm_MenuInicial"
Forms![Frm_MenuInicial]![Txt_Usuario_Atual] = UCase(UsuarioTemp)
Forms![Frm_MenuInicial]![Bt_Nav_1].enable = True
Forms![Frm_MenuInicial]![Bt_Nav_2].enable = True
Forms![Frm_MenuInicial]![Bt_Nav_3].enable = True
'Função usuario logado usuário
ElseIf NivelUsuario = 2 Then
DoCmd.OpenForm "Frm_MenuInicial"
'Coloca nome usuario logado no form
Forms![Frm_MenuInicial]![Txt_Usuario_Atual] = UCase(UsuarioTemp)
'Habiliata botões de navegação conforme a função do usuario logado
' Forms![Frm_MenuInicial]![Bt_Nav_1].enable = True
' Forms![Frm_MenuInicial]![Bt_Nav_2].enable = True
' Forms![Frm_MenuInicial]![Bt_Nav_3].enable = True
'Função usuario logado Teste
If NivelUsuario = 3 Then
MsgBox "Acesso permitido", vbInformation, "Autenticação efetuada com sucesso"
DoCmd.OpenForm "Frm_MenuInicial"
'Coloca nome usuario logado no form
Forms![Frm_MenuInicial]![Txt_Usuario_Atual] = UCase(UsuarioTemp)
'Habiliata botões de navegação conforme a função do usuario logado
' Forms![Frm_MenuInicial]![Bt_Nav_1].enable = False
' Forms![Frm_MenuInicial]![Bt_Nav_2].enable = False
' Forms![Frm_MenuInicial]![Bt_Nav_3].enable = False
End If
End If
End If
End If
End If
End Sub
'Private Sub Form_Load()
' DoCmd.ShowToolbar "Ribbon", acToolbarNo
'End Sub
Private Sub bt_close_Click()
DoCmd.Quit
End Sub
Private Sub bt_CriarConta_Click()
DoCmd.Close acForm, "Frm_Login"
DoCmd.OpenForm "Frm_Novo_Usuario"
End Sub
Private Sub sl_ExibirSenha_AfterUpdate()
' exibir senha
If sl_ExibirSenha = True Then
txt_Senha.InputMask = ""
Else
txt_Senha.InputMask = "Senha_Usuario"
End If
I apologize, but I didn't have enough time to translate the forms from Portuguese - Br into English.
Thanks.
I'm starting this study of login associated with permission by group to later implement the permission to execute or not the tasks by user action in the form.
There are two questions:
1) The login system for Admin and test 01 users opens and shows the name of the logged-in person in the main menu.
However Login Test 2 and Test 3 the command button doesn't even work.
I've seen, corrected and tried... and I don't find the blessed error.
2) When I stop commenting the lines referring to the navigation command buttons (Bt_Nav_1, Bt_Nav_2 and Bt_Nav_3) in the Frm_Login coding to work according to the logged in user, it displays the error that it was unable to locate the field "Bt_Nav_1 or 2 or 3" referred to in your expression.
Below the entire coding of the form (also attached)
Option Compare Database
Private Sub Bt_Login_Click()
'Crio a variavel Nivel usuário
Dim NivelUsuario As Integer
'Crio a variavel TempSenha que será a senha temporária dada ao novo usuário
Dim TempSenha As String
'Crio a variavel ID
Dim ID As Integer
'Crio a variavel paara Usuário atual do form menu principal
Dim UsuarioTemp As String
If IsNull(Me.txt_Usuario) Then
MsgBox "Entre com nome do usuário.", vbInformation, "Nome do Usuário Necessário"
Me.txt_Usuario.SetFocus
ElseIf IsNull(Me.txt_Senha) Then
MsgBox "Digite a senha.", vbInformation, "Senha Necessária"
Me.txt_Senha.SetFocus
Else
' Nome do usuario/Tbl Usuario, Tbl Usuario, Nome do usuario/Tabl Usuario /Nome campo usuario Form
If (IsNull(DLookup("Nome_Usuario", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'"))) Or _
IsNull(DLookup("Senha_Usuario", "Tbl_Usuario", "Senha_Usuario='" & Me.txt_Senha.Value & "'")) Then
' Acima = Senha do usuario/Tbl Usuario, Tbl Usuario, Senha do usuario/Tabl Usuario /Nome campo senha do usuario Form
MsgBox "Nome do usuário ou senha errados.", vbInformation, "Acesso negado"
Me.txt_Usuario = ""
Me.txt_Senha = ""
Me.txt_Usuario.SetFocus
Else
'Uso a variavel NivelUsuario
NivelUsuario = DLookup("[Nivel_Usuario]", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'")
'Uso a variavel TempSenha
TempSenha = DLookup("[Senha_Usuario]", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'")
'Uso a variavel ID
ID = DLookup("Id_Usuario", "Tbl_Usuario", "Nome_Usuario='" & Me.txt_Usuario.Value & "'")
'Uso a variavel UsuárioTemp
UsuarioTemp = Me.txt_Usuario
If (TempSenha = "Senha_Usuario") Then
DoCmd.OpenForm "Frm_Cad_Usuario", , , "[Id_Usuario]=" & ID
Else
'Função usuario logado Administrador
If NivelUsuario = 1 Then
MsgBox "Acesso permitido", vbInformation, "Autenticação efetuada com sucesso"
DoCmd.OpenForm "Frm_MenuInicial"
Forms![Frm_MenuInicial]![Txt_Usuario_Atual] = UCase(UsuarioTemp)
Forms![Frm_MenuInicial]![Bt_Nav_1].enable = True
Forms![Frm_MenuInicial]![Bt_Nav_2].enable = True
Forms![Frm_MenuInicial]![Bt_Nav_3].enable = True
'Função usuario logado usuário
ElseIf NivelUsuario = 2 Then
DoCmd.OpenForm "Frm_MenuInicial"
'Coloca nome usuario logado no form
Forms![Frm_MenuInicial]![Txt_Usuario_Atual] = UCase(UsuarioTemp)
'Habiliata botões de navegação conforme a função do usuario logado
' Forms![Frm_MenuInicial]![Bt_Nav_1].enable = True
' Forms![Frm_MenuInicial]![Bt_Nav_2].enable = True
' Forms![Frm_MenuInicial]![Bt_Nav_3].enable = True
'Função usuario logado Teste
If NivelUsuario = 3 Then
MsgBox "Acesso permitido", vbInformation, "Autenticação efetuada com sucesso"
DoCmd.OpenForm "Frm_MenuInicial"
'Coloca nome usuario logado no form
Forms![Frm_MenuInicial]![Txt_Usuario_Atual] = UCase(UsuarioTemp)
'Habiliata botões de navegação conforme a função do usuario logado
' Forms![Frm_MenuInicial]![Bt_Nav_1].enable = False
' Forms![Frm_MenuInicial]![Bt_Nav_2].enable = False
' Forms![Frm_MenuInicial]![Bt_Nav_3].enable = False
End If
End If
End If
End If
End If
End Sub
'Private Sub Form_Load()
' DoCmd.ShowToolbar "Ribbon", acToolbarNo
'End Sub
Private Sub bt_close_Click()
DoCmd.Quit
End Sub
Private Sub bt_CriarConta_Click()
DoCmd.Close acForm, "Frm_Login"
DoCmd.OpenForm "Frm_Novo_Usuario"
End Sub
Private Sub sl_ExibirSenha_AfterUpdate()
' exibir senha
If sl_ExibirSenha = True Then
txt_Senha.InputMask = ""
Else
txt_Senha.InputMask = "Senha_Usuario"
End If
I apologize, but I didn't have enough time to translate the forms from Portuguese - Br into English.
Thanks.