MaximoAccess

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

Obrigado

Administração do MaximoAccess

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]Login por usuário de rede, sem uso de senha

    avatar
    Nilduke
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 03/12/2019

    [Resolvido]Login por usuário de rede, sem uso de senha Empty [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  Nilduke em 21/12/2019, 11:26

    Olá amigos!  Esse é o meu primeiro post no fórum, procurei em vários outros fóruns e aqui mesmo e não localizei a minha dúvida, se puderem me ajudar, ficarei muito grato!

    Gostaria de criar um código em VBA que autentique o acesso da pessoa pelo usuário de rede, ou seja,  tenho uma tabela (Tbl_Usuarios), com os campos: “Usuario_Rede’ (Chave primaria) , na empresa esse usuário de rede é exclusivo para cada funcionário, não se repete, e “Nome_Atendente”, preciso que o código verifique o usuário logado, e verifique se ele está na “Tbl_Usuários”, se estiver ele libera acesso ao formulário principal ‘Form_Cadastro_Atendimento”, sem uso de senhas, e informe o nome do atendente em uma caixa de texto “Usuario_Logado” no form principal, caso o usuário não esteja cadastrado a base de dados é fechada, e ai só tem mais uma agravante esse código precisa ser executado mesmo se a pessoa não habilitar o banco de dados.

    Desde já agradeço pela força! Very Happy


    Última edição por Nilduke em 20/1/2020, 23:58, editado 3 vez(es)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Login por usuário de rede, sem uso de senha Empty Re: [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  ahteixeira em 21/12/2019, 11:37

    Olá Ivanildo Rocha,

    Seja bem-vindo ao fórum.

    Pode fazer o pretendido com a função nativa do Access environ().
    Terá que ter os utilizadores registados na base de dados.
    Depois com a seguinte instrução consegue obter qual o utilizador que está logado no sistema:

    Código:
    [SeuCampoUserLogado]=environ("username")

    Abraço
    avatar
    Nilduke
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 03/12/2019

    [Resolvido]Login por usuário de rede, sem uso de senha Empty Re: [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  Nilduke em 22/12/2019, 13:33

    Olá Alvaro Teixeira,  

    Muito obrigado pelo retorno! Faz muito tempo que não utilizo VBA e até já tinha tentado montar o código com base na lógica que você descreveu, porém não consegui evoluir, primeiro que tenho que fazer ela ser executada antes mesmo que o usuário habilite a base de dados, e a outra dificuldade é que não estou conseguido fazer retornar o nome do usuário, não o usuário de rede (environ), mas o nome do usuário da tabela Tbl_Usuario, tem algum código pronto que eu posso tentar adaptar ao meu projeto?

    Novamente muito obrigado pela parceria.
    Forte abraço!
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Login por usuário de rede, sem uso de senha Empty Re: [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  ahteixeira em 22/12/2019, 13:50

    Olá Ivanildo Rocha,

    Pode ser uma consulta com filtro à tabela ou um Dlookup.
    No entanto tem que ter a base de dados ativada.
    Fazer antes desconheço.

    Monte pequeno exemplo e partilhe e mande mais detalhes para se testar.

    Abraço
    avatar
    Nilduke
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 03/12/2019

    [Resolvido]Login por usuário de rede, sem uso de senha Empty Re: [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  Nilduke em 18/1/2020, 00:25

    Olá Alvaro Teixeira,

    Obrigado pelo último retorno!

    Desde então não consegui evoluir, será que você ou algum membro consegue me ajudar? Tentei por diversas vezes mas sem sucesso. Estou disponibilizando minha base de dados, ele é um formulário de cadastro, tem duas tabelas, uma com os dados do atendimento (Tbl_Cadastro_Atendimento) e a outra com os dados dos usuários (Tbl_Usuario) que terão acesso, na tabela usuários tem: O nome do usuário de rede e o Nome da pessoa associado a este usuário, cadastrei usuários fictícios, se quiser utilizar com seu usuário de rede e seu nome para teste, no formulário principal tenho um campo “UsuárioLogado” que recebe a função environ, informa o usuário logado, gostaria que o código VBA comparasse meu campo “UsuárioLogado.Value” com a tabela Usuários, se o nome do usuário de rede estiver na tabela é permitido o acesso e dá uma mensagem de boas vidas, com o nome da pessoa, do contrário, fecha o formulário não permitindo o acesso, carrega mensagem de acesso negado.

    Se conseguir me ajudar ficarei muito grato.
    Desde já agradeço por todo o apoio.

    Base de dados:
    dropbox.com/s/rgfbebvdjvp7mx2/Cadastro.zip?dl=1
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Login por usuário de rede, sem uso de senha Empty Re: [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  ahteixeira em 19/1/2020, 23:26

    Olá Ivanildo Rocha,

    No evento ao abrir do form Form_Cadastro_Atendimento teste com o seguinte código;
    Código:
    Private Sub Form_Load()
    Dim varX As Variant
    Dim userLogado As String

        userLogado = Environ("username")
        varX = DLookup("[Usuário_Rede]", "Tbl_Usuario", "[Usuário_Rede] = '" & userLogado & "'")
        If IsNull(varX) Then
            Cancel = True
            DoCmd.Close
        Else
            DoCmd.GoToRecord , , acNewRec
        End If
    End Sub

    Abraço
    avatar
    Nilduke
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 03/12/2019

    [Resolvido]Login por usuário de rede, sem uso de senha Empty Re: [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  Nilduke em 20/1/2020, 23:43

    Olá Alvaro Teixeira,

    Muito obrigado! Fiz o teste e funcionou perfeitamente, só vou incrementar mensagens de boas vindas se a pessoa possuir acesso ou "Acesso negado", caso não possua, mas isso é o de menos o principal já foi feito.

    Ajudou muito, obrigado!
    Very Happy  Very Happy  Very Happy


    Última edição por Nilduke em 21/1/2020, 16:58, editado 1 vez(es)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Login por usuário de rede, sem uso de senha Empty Re: [Resolvido]Login por usuário de rede, sem uso de senha

    Mensagem  ahteixeira em 21/1/2020, 08:18

    Olá Ivanildo Rocha,

    Fico feliz, obrigado pelo retorno.
    Na sua última mensagem colocou no titulo do tópico "Problema resolvido".
    Edite a mensagem e apague.
    O fórum automaticamente copia o nome que colocou na primeira mensagem e é assim que deve ficar para facilitar nas buscas do fórum.

    Abraço

      Data/hora atual: 1/12/2020, 18:17