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


3 participantes

    Abrir formulário apenas para alguns usuários logados no Windows

    avatar
    lekcunha
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 36
    Registrado : 06/11/2014

    Abrir formulário apenas para alguns usuários logados no Windows Empty Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  lekcunha 1/11/2017, 13:45

    Nobres,king

    bom dia!

    Procurei em toda Net e no Maximo Access mas não encontrei.

    Preciso de ajuda com um código VBA que permita abrir um formulário apenas para usuários logados no Windows.

    Esses usuários seriam pré-cadastrados numa listagem.

    Se o usuário não constar na lista, o sistema exibiria uma mensagem de Acesso Negado e fecharia o Access.

    Poderiam ajudar?

    Agradeço desde já! Wink
    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

    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  CassioFabre 1/11/2017, 15:18

    Boa tarde,

    Simples. No open do form coloque:
    Código:
        If DCount("codigo", "tbl", "usuario = '" & user & "'") = 0 Then
            MsgBox "Voce nao possui permissão para acesso!", vbCritical, "Acesso"
            Cancel = True
        End If

    Onde:
    - tbl: tabela onde estão pre cadastrados os usuarios autorizados
    - usuario: campo da tabela onde tem o nome do usuario (voce pode usar o codigo também, é só um modelo isso aqui)
    - user: variável que identifica o usuário logado no sistema

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    lekcunha
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 36
    Registrado : 06/11/2014

    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  lekcunha 1/11/2017, 18:24

    Obrigado, CassioFabre!

    Porém ao adaptar seu código, o Access acusa a mensagem "Variável não definida" para o USER.

    avatar
    lekcunha
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 36
    Registrado : 06/11/2014

    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  lekcunha 1/11/2017, 18:39

    CassioFabre,

    resolvi o erro declarando a variável assim;

    Dim USER As Integer.

    Porém agora, surge o erro em anexo.

    Pode ajudar? Wink
    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

    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  CassioFabre 1/11/2017, 18:53

    Boa tarde,

    Amigo, repare bem na legenda que eu coloquei na outra mensagem:
    Onde:
    - tbl: tabela onde estão pre cadastrados os usuarios autorizados
    - usuario: campo da tabela onde tem o nome do usuario (voce pode usar o codigo também, é só um modelo isso aqui)
    - user: variável que identifica o usuário logado no sistema

    No código que eu postei, substitua respectivamente:

    - tbl pelo nome da tabela onde estão cadastrados os usuários que poderão acessar o formulário.
    - usuario nome do campo da tabela citada acima, onde está o nome do usuário que poderá acessar o formulário.
    - user a variável que indentifica o usuário logado no momento. Por exemplo, como voce sabe que o usuário logado no seu sistema é o joão e não o pedro? Deve ter alguma variável do tipo "UsuarioAtual" no seu sistema, se tiver, voce vai colocar essa variável aí. Se tiver usando uma valor numérico, ou seja, identificar o usuário atual pelo codigo dele, lembre-se de retirar as aspas simples.

    Se de toda forma não conseguir adaptar, poste parte do seu bd aqui para darmos uma olhada.

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    avatar
    lekcunha
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 36
    Registrado : 06/11/2014

    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  lekcunha 1/11/2017, 19:08

    Então, CassioFabre.

    Eu entendi sua legenda, é que troquei o campo usuariopor USER_ID para entrar em conformidade com minha tabela de usuários.

    Acho que o problema é que uso na Tabela Principal de Cadastros o recurso =Ambiente("Username") para saber quem está logado no Windows.

    Talvez tenha que alterar a variável user que você sugeriu para =Ambiente("Username"), correto?

    Poderia informar a sintaxe e o tipo da variável que eu teria de declarar?

    Mais uma vez, obrigado! Wink
    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

    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  CassioFabre 3/11/2017, 09:40

    Bom dia,

    Suponho aqui que o campo User_ID é um campo de texto e que o valor que sempre terá nele é o nome do usuário logado no windows, e não nenhum código numérico, voce pode usar a função Environ() e retornar esse nome. Ficaria algo assim:
    Código:
        If DCount("USER_ID", "tbl", "USER_ID = '" & Environ("username") & "'") = 0 Then
            MsgBox "Voce nao possui permissão para acesso!", vbCritical, "Acesso"
            Cancel = True
        End If

    Lembrando de substituir tbl pelo nome correto da tabela.

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  Alvaro Teixeira 25/9/2018, 08:44

    Olá a todos,

    Alex Cunha, como ficou a situação?

    Abraço

    Conteúdo patrocinado


    Abrir formulário apenas para alguns usuários logados no Windows Empty Re: Abrir formulário apenas para alguns usuários logados no Windows

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 21:19