Tenho pouca experiência em VBA e preciso da seguinte ajuda.
Na tabela tbl_Usuarios possui os campos IdUser, Nome, Senha, Nivel. No formulário de login o usuário seleciona seu nome e insere a senha, posteriormente validação, abre formulário principal. Neste momento gostaria que a macro com mesmo valor do campo nivel.
Ex: o iduser: 1 nome: teste senha: teste nivel: adm , com isso abriria a macro chamada adm.
O objetivo é em cada macro ocultar os botões não necessários para os diferentes niveis. Esta foi a maneira que encontrei para não permitir ações de alguns usuários com perfil diferentes já que os usuário ficam logados ao mesmo tempo.
Segue abaixo o código que consegui chegar pesquisando na NET sem conhecer VBA.
Private Sub bnt_OK_Click()
Dim wSenha As String
If IsNull(cmbUser) Then
MsgBox "Selecione um Usuário na Lista", vbCritical, "Acesso Negado"
cmbUser.SetFocus
ElseIf IsNull(txtPass) Then
MsgBox "Entre com a Senha", vbCritical, "Acesso Negado"
txtPass.SetFocus
Else
wSenha = DLookup("[Senha]", "Tbl_Usuarios", "[IDUser] = " & Val(cmbUser))
If txtPass = wSenha Then
Dim rsInf As Recordset
Set rsInf = Nothing
DoCmd.Close acForm, "Frm_Login"
If Not EstaCarregado("Frm_Principal") Then
DoCmd.OpenForm "Frm_Principal"
End If
Else
MsgBox "Senha Incorreta", vbCritical, "Acesso Negado"
txtPass = Null
txtPass.SetFocus
End If
End If
End Sub
Desde já agradeço ajuda
Na tabela tbl_Usuarios possui os campos IdUser, Nome, Senha, Nivel. No formulário de login o usuário seleciona seu nome e insere a senha, posteriormente validação, abre formulário principal. Neste momento gostaria que a macro com mesmo valor do campo nivel.
Ex: o iduser: 1 nome: teste senha: teste nivel: adm , com isso abriria a macro chamada adm.
O objetivo é em cada macro ocultar os botões não necessários para os diferentes niveis. Esta foi a maneira que encontrei para não permitir ações de alguns usuários com perfil diferentes já que os usuário ficam logados ao mesmo tempo.
Segue abaixo o código que consegui chegar pesquisando na NET sem conhecer VBA.
Private Sub bnt_OK_Click()
Dim wSenha As String
If IsNull(cmbUser) Then
MsgBox "Selecione um Usuário na Lista", vbCritical, "Acesso Negado"
cmbUser.SetFocus
ElseIf IsNull(txtPass) Then
MsgBox "Entre com a Senha", vbCritical, "Acesso Negado"
txtPass.SetFocus
Else
wSenha = DLookup("[Senha]", "Tbl_Usuarios", "[IDUser] = " & Val(cmbUser))
If txtPass = wSenha Then
Dim rsInf As Recordset
Set rsInf = Nothing
DoCmd.Close acForm, "Frm_Login"
If Not EstaCarregado("Frm_Principal") Then
DoCmd.OpenForm "Frm_Principal"
End If
Else
MsgBox "Senha Incorreta", vbCritical, "Acesso Negado"
txtPass = Null
txtPass.SetFocus
End If
End If
End Sub
Desde já agradeço ajuda
Última edição por rricardo.mendonca em 20/5/2011, 16:46, editado 1 vez(es)