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


2 participantes

    Permissão de Acesso

    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Permissão de Acesso Empty Permissão de Acesso

    Mensagem  Maurício Bruno 16/5/2018, 14:45

    Bom Dia!

    Queria ajuda para colocar outros nível de permissão.
    O código abaixo verifica Usuário e o seu grupo de acesso, porém, gostaria de habilitar por módulo, tenho administrador que vai entrar somente em um módulo especifico e não em todos.

    Agora a minha tabela de cadastro de usuário está assim:

    |          CPF          |   NOME   |    USER REDE    | GRUPO DE ACESSO | MÓDULO 01 | MÓDULO 02| MÓDULO 03 |
    | 000.000.000-00 | CICLANO | CICLANO.SILVA |  ADMINISTRADOR  |.......|X|........|.......|X|.......|......|X|........|
    | 100.000.000-01 |   TESTE   |  TESTE.SOUSA  |  ADMINISTRADOR  |.......|..|........|.......|..|.......|......|X|........|

    Criei o nAcesso porém não funcionou. Estou sem direção.

    Código:
    'AO CLICAR NO BOTÃO EXCLUIR
    Private Sub btn_excluir_Click()
    'ATUALIZAR O GRUPO DE ACESSO E O USUÁRIO
    Dim sUsuario, nUsuario As String
    Dim sGrupoUsuario As String
    Dim nAcesso As String

    sUsuario = Forms!Frm_Cadastro_Prestador!txtUser
    nUsuario = Nz(DLookup("[Usuário]", "Tbl_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))
    sGrupoUsuario = Nz(DLookup("[Grupo de Acesso]", "Tbl_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))
    Me.txt_Grupo_Usuario = sGrupoUsuario
    Me.txt_Usuario = nUsuario
    nAcesso = Nz(DLookup("[Grupo de Acesso]", "Tbl_GERAL_Cadastro_User", "[Treinamento]= '" & True & "'"), "")


    'AO ABRIR VERIFICA NÍVEL DE ACESSO
    If sGrupoUsuario = "ADMINISTRADOR"   & nAcesso = -1 Then
    ElseIf sGrupoUsuario = "DESENVOLVEDOR"  & nAcesso = -1 Then

        If MsgBox("Deseja excluir?", vbYesNo + vbQuestion, "Atenção!") = vbYes Then
        DoCmd.SetWarnings False
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.SetWarnings True

    Conto a ajuda e desde já agradeço a atenção e ajuda.
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    Permissão de Acesso Empty Re: Permissão de Acesso

    Mensagem  CassioFabre 16/5/2018, 18:51

    Boa tarde,

    Para voce verificar se o usuário tem permissão para ação no módulo atual voce pode usar simplesmente um recordset. Coloque este código num botão só para voce testar:
    Código:
    Dim rs as recordset
    Dim sUsuario as string

    sUsuario = Forms!Frm_Cadastro_Prestador!txtUser
    set rs = currentdb.openrecordset("SELECT * FROM Tbl_Cadastro_User WHERE [USER REDE] = '" & sUsuario & "'")

    dim str as string
    str = "As permissões do usuário " & sUsuario & " em cada módulo são:" & vbcrlf & vbclrf

    str = str & "Módulo 01: " & rs![MÓDULO 01] & vbcrlf
    str = str & "Módulo 02: " & rs![MÓDULO 02] & vbcrlf
    str = str & "Módulo 03: " & rs![MÓDULO 03] & vbcrlf

    msgbox str, vbInformation, "Permissão"

    Tendo isso voce conseguirá implementar para a verificação do seu caso.

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    Maurício Bruno
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 233
    Registrado : 25/05/2015

    Permissão de Acesso Empty Re: Permissão de Acesso

    Mensagem  Maurício Bruno 18/6/2018, 18:28

    CassioFabre,

    Mestre, desculpe a demora em testar, estava fechando outro projeto.

    Não consegui trabalhar no seu código.rsrs

    A última permissão esta acessando o formulário, mesmo eu desativando no cadastro do usuário, creio que estou colocando algo errado.

    Código:
    Private Sub Form_Load()
    'AO CARREGAR OCULTA AS RIBBONS
    DoCmd.ShowToolbar "Ribbon", acToolbarNo

    'ATUALIZAR O GRUPO DE ACESSO E O USUÁRIO
    Dim sUsuario, nUsuario As String
    Dim sGrupoUsuario As String
    Dim nPermissao1, nPermissao2, nPermissao3, nAtivo As String
    sUsuario = Forms!Frm_DESENV_Menu_Desenvolvedor!txtUser
    nUsuario = Nz(DLookup("[Usuário]", "Tbl_GERAL_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))
    sGrupoUsuario = Nz(DLookup("[Grupo de Acesso]", "Tbl_GERAL_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))
    Me.txt_Grupo_Usuario = sGrupoUsuario
    Me.txt_Usuario = nUsuario
    nPermissao1 = Nz(DLookup("[Prestador de Serviço]", "Tbl_GERAL_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))
    nPermissao2 = Nz(DLookup("[IRM]", "Tbl_GERAL_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))
    nPermissao3 = Nz(DLookup("[Treinamento]", "Tbl_GERAL_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))
    nAtivo = Nz(DLookup("[Ativado]", "Tbl_GERAL_Cadastro_User", "[User Rede]= '" & sUsuario & "'"))

    'AO ABRIR VERIFICA NÍVEL DE ACESSO
    If sGrupoUsuario = "ADMINISTRADOR" And nAtivo = -1 _
                            And nPermissao1 = -1 _
                            Or nPermissao2 = 0 _
                            Or nPermissao3 = 0 _
        Or sGrupoUsuario = "CONSULTA" & nAtivo = True _
                            And nPermissao1 = True _
                            Or nPermissao2 = True _
                            Or nPermissao3 = True _
    Then
            Call menu_Prestador_Serviços_Click
           
    ElseIf sGrupoUsuario = "RECURSOS HUMANOS" _
        Or sGrupoUsuario = "AGENDAMENTO" _
        Or sGrupoUsuario = "CONSULTA" _
        Then
            Call menu_Treinamento_Click

    ElseIf sGrupoUsuario = "DESENVOLVEDOR" And nAtivo = -1 _
                            And nPermissao1 = True _
                            Or nPermissao2 = True _
                            Or nPermissao3 = True _
    Then
        DoCmd.OpenForm "Frm_DESENV_Menu_Desenvolvedor", acNormal, "", "", , acNormal
        DoCmd.Maximize
        DoCmd.OpenForm "Frm_DESENV_Saudação", acNormal
        Forms.Frm_DESENV_Saudação.btn_fechar.SetFocus

    Else
    MsgBox "ACESSO NEGADO" & vbNewLine & _
        "" & vbNewLine & _
        "Você não possui autorização para acessar a Ferramenta." & vbNewLine & _
        "" & vbNewLine & _
        "Por favor, entre em contato com Administrador.", _
          vbExclamation, "Acesso Negado"
        Form.Undo
        DoCmd.Quit
    End If

    End Sub

    Desde já agradeço a ajuda e atenção

    Conteúdo patrocinado


    Permissão de Acesso Empty Re: Permissão de Acesso

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 23:34