MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Permissão de Acesso

    Compartilhe

    Maurício Bruno
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Permissão de Acesso

    Mensagem  Maurício Bruno em Qua 16 Maio 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.
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

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

    Re: Permissão de Acesso

    Mensagem  CassioFabre em Qua 16 Maio 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!

      Data/hora atual: Dom 27 Maio 2018, 12:50