MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Executar macro conforme nível de login

    avatar
    rricardo.mendonca
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 19/05/2011

    [Resolvido]Executar macro conforme nível de login Empty [Resolvido]Executar macro conforme nível de login

    Mensagem  rricardo.mendonca 19/5/2011, 01:29

    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


    Última edição por rricardo.mendonca em 20/5/2011, 16:46, editado 1 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido]Executar macro conforme nível de login Empty Re: [Resolvido]Executar macro conforme nível de login

    Mensagem  Convidado 19/5/2011, 01:43

    Ricardo veja este exemplo da sala de repositorios...
    Nele há niveis de usuários ativando ou desativando botões no form.. tudo em VBA...

    Veja se lhe serve..

    Saudações

    http://maximoaccess.forumeiros.com/t2399-login-ativando-ou-desativando-botoes-no-menu-principal
    avatar
    rricardo.mendonca
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 19/05/2011

    [Resolvido]Executar macro conforme nível de login Empty Re: [Resolvido]Executar macro conforme nível de login

    Mensagem  rricardo.mendonca 19/5/2011, 01:48

    Boa noite Harysohn

    Já estou estudando o código alguns dias, mas não tenho conhecimento para implementar em meu BD. Pensei em algo mais simples devido esta minha deficiência em VBA.

    Continuarei estudando para chegar no objetivo.

    Obrigado
    avatar
    Convidado
    Convidado


    [Resolvido]Executar macro conforme nível de login Empty Re: [Resolvido]Executar macro conforme nível de login

    Mensagem  Convidado 19/5/2011, 02:03

    Ok.. este exemplo creio que va lhe servir.. ele esta completo para o login que necessita..
    estude.. afinal e assim que aprendemos..

    Boa noite e bom trabalho...
    Caso o exemplo sirva nao esqueca o resolvido no topico
    ate..
    avatar
    rricardo.mendonca
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 19/05/2011

    [Resolvido]Executar macro conforme nível de login Empty Re: [Resolvido]Executar macro conforme nível de login

    Mensagem  rricardo.mendonca 20/5/2011, 16:44

    Boa tarde!

    Após penar devido não conhecer VBA, mas com alguns exemplos o código ficou assim:

    Private Sub bnt_OK_Click()
    Dim wSenha As String
    Dim wNivel 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))
    wNivel = DLookup("[Nivel]", "Tbl_Usuarios", "[IDUser] = " & Val(cmbUser))
    If txtPass = wSenha Then
    'Guarda o id e nivel do Usuário Atual
    Dim rsInf As Recordset
    Set rsInf = Nothing
    If wNivel = "1" Then
    MsgBox "Acesso Liberado", vbInformation, "BlisFarma"
    DoCmd.Close acForm, "Frm_Login"
    DoCmd.OpenForm "Clientes1"
    ElseIf wNivel = "2" Then
    MsgBox "Acesso Liberado", vbInformation, "BlisFarma"
    DoCmd.Close acForm, "Frm_Login"
    DoCmd.OpenForm "Apontamento1"
    End If

    Else
    MsgBox "Senha Incorreta", vbCritical, "Acesso Negado"
    txtPass = Null
    txtPass.SetFocus
    End If
    End If
    End Sub

    Desta forma de acordo com Nivel de usuário abrirá um formulário diferente. Posteriormente vou alterar para abrir macro, e na macro definirei os campos que serão visiveis ou não no formulário. Assim, criarei apenas 1 formulário principal.

    Sei que poderia acrescentar usuário e senha direto no VBA e definiria ação individual, mas como não sou eu que irá operacionalizar achei complicado inserir novos usuários.

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Executar macro conforme nível de login Empty Re: [Resolvido]Executar macro conforme nível de login

    Mensagem  Convidado 20/5/2011, 18:25

    O Fórum agradece o retorno..

    Conteúdo patrocinado


    [Resolvido]Executar macro conforme nível de login Empty Re: [Resolvido]Executar macro conforme nível de login

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 15:30