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


    Registro de Logout em Tabela

    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Registro de Logout em Tabela

    Mensagem  AMarcos em 25/1/2020, 17:23

    Amigos mestres, venho solicitar uma luz para essa nova implementação que faço no meu projeto.
    Eu estou tentando inserir na Tabela Usuários a data e a hora em que o usuário entrou no programa (login) e a data e a hora em que o usuário saiu do programa (logout).

    Consegui metade da implementação: o Login está funcionando. Claro que de uma forma simples, os dados são sobrepostos no campo DT_Entrou, ou seja, só registra o último login do usuário. Mas eu não consegui montar e nem achar nenhum repositório que resolvesse o impasse na hora de sair do programa.

    Eu gostaria que ao clicar no Botão SAIR do programa principal MENU e voltar para o Form Login em branco, ficasse registrado a data e a hora do evento na Tabela Usuários no campo Dt_Saiu do usuário logado.

    Espero que tenha sido claro na minha solicitação de ajuda, mas para reforçar postarei aqui o extrato do meu BD contendo as tabela, consultas, formulários e módulos envolvidos.

    Estou também com um problema inconveniente envolvendo os mesmo controles que é o seguinte: Eu cadastro o usuário e também altero sua senha, determinado a ele uma senha padrão "123456". Estudando o nosso fórum eu encontrei o modo de inserir na Tabela Usuários a nova senha alterada através do Formulário Altera_Senha, mas o que está ocorrendo de inconveniente é que se o usuário for do mesmo nível, mesmo que ele tenha uma senha diferente a outro usuário do mesmo nivel, ele consegue logar usando o nome do outro usuário usando sua própria senha, assim pode ludibriar o registro de login na Tabela.

    Ex: Eu cadastro um usuário com a senha padrão, ele altera no primeiro acesso, mas se ele selecionar qualquer usuário do mesmo nível com a senha dele, ele consegue logar no programa normalmente.

    Qual a modificação no código que devo fazer para isso não acontecer?


    Att,


    Amarcos
    Anexos
    Registro de Logout em Tabela AttachmentBanco_Login.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (139 Kb) Baixado 10 vez(es)
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 12/01/2015

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  renpv em 25/1/2020, 23:44

    O primeiro problema você resolve colocando o mesmo código do login na ação do botão sair. Você vai mudar apenas o campo.

    O segundo problema você vai ter que inspecionar como a consulta está sendo feita no banco de dados e quais os dados estão retornando. Certeza que o problema está nessa consulta.
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 26/1/2020, 16:22

    Meu amigo obg pela atenção, mas td o que vc fez eu já tentei. Pode ser que esteja fazendo errado... possivelmente... kkkkkk

    Teria como descrever como eu deveria modificar o código e como deveria estar a minha consulta?


    Att,


    AMarcos
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 27/1/2020, 04:57

    Algum amigo mestre se disponibiliza em me ajudar no impasse?

    Posso ser mais específico em algo que ainda não esteja bem claro.


    Att,


    AMarcos

    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 12/01/2015

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  renpv em 27/1/2020, 13:56

    Bom dia, Marcos.

    Eu vi seu banco e percebi que você cometeu um pequeno erro ao modelar seu sistema de login.
    - Você criou uma tabela com Id, Usuário, Login, Senha, Função, Data de entrada e Data de saída. É uma convenção usar o campo login como campo de informação única, ou seja, não pode repetir. Você está usando esse campo pra gravar o "tipo de usuário". É bastante provável que o problema do login com senha de outro esteja acontecendo por isso. Minha sugestão é que o campo login seja marcado na tabela como "Indexado: Sim (Duplicação não autorizada)"

    - Outro problema que percebi foi que você criou uma função para validar o login e essa função recebe três parâmetros. Para validar um login basta você receber dois parâmetros (login e senha). Sendo que um desses dois campos devem ser únicos na tabela. A solução que sugeri acima provavelmente vai resolver seu problema. Ainda assim sugiro que reescreva a função de login pra que ela receba apenas dois parâmetros.

    Resumindo: Na tabela faça com que o campo login seja único e na função verificaLogin faça com que ela receba apenas login e senha.

    Faça essas alterações e os testes. Se não resolver volta aqui já com essas alterações que eu vejo qual o problema.

    Bons estudos.
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 27/1/2020, 14:15

    Ok, meu amigo vou realizar as alterações encontradas e sugeridas pelo amigo e volto sim a entrar em contato hoje ainda no período da tarde.

    Um grande abraço!!!


    AMarcos
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 27/1/2020, 21:59

    Amigão realizei as alterações recomendadas, mas agora não consigo entrar no sistema.  Só dá senha inválida!

    Teria como analisar se está faltando algo?


    Att,



    AMarcos
    Anexos
    Registro de Logout em Tabela AttachmentBanco_Login2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (205 Kb) Baixado 4 vez(es)


    Última edição por AMarcos em 28/1/2020, 01:49, editado 1 vez(es)
    avatar
    renpv
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 318
    Registrado : 12/01/2015

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  renpv em 27/1/2020, 22:20

    Não aparece o anexo pra mim.
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 28/1/2020, 01:50

    Voltei a anexar o BD na Mensagem 7.
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 319
    Registrado : 25/02/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  FranklinJSP em 28/1/2020, 15:40

    Bom día Marcos!

    Para resolver o problema da "senha inválida", selecione a combobox Usuário e na opção Coluna Dependente, mude para 2.
    É isso aí!

    Registro de Logout em Tabela Captur35

    Saludos!


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 28/1/2020, 20:56

    E aí meu amigo Franklin quanto tempo????

    Muito obrigado mesmo por mais essa ajuda.  Deu super certo!!!

    Nem pensava em que vc pudesse me dispensar sua atenção mais uma vez. Estava mesmo esperando a resposta do nosso mestre renpv, mas como a vida é corrida ele ainda não deve ter visto a minha última solicitação.

    Com certeza ele também ficará satisfeito pelo seu retorno.  Pois esse fórum é assim, ima confraria de amigos mestres, um dando suporte e aumentando o conhecimento do outro.

    De minha parte só tenho que agradecer a todos que me dispensam a atenção me ajudando ou não...

    Mas deixando a rasgação de seda, será que você também me ajuda no primeiro problema de Login/Logout, descrito na mensagem nº1 deste tópico: eu não consigo inserir o registro de LOGOUT na Tabela Usuários qo clicar no botão Sair (btn_SairApp) do formulário "Menu".

    Será que você pode me dar mais essa luz no que fazer? Em que estou errando? Ou o que estou deixando de fazer?

    Muito obg mais uma vez e fico a espera de sua ajuda como também dos outros mestres do fórum.


    Saludos

    Att,

    AMarcos
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1587
    Registrado : 22/11/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  DamascenoJr. em 30/1/2020, 04:02

    Em resposta a sua MP, veja, estude e adapte este anexo que lembro já ter postado em algum tópico por aqui.
    Anexos
    Registro de Logout em Tabela AttachmentExLogin.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (36 Kb) Baixado 5 vez(es)


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    FranklinJSP
    FranklinJSP
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 319
    Registrado : 25/02/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  FranklinJSP em 30/1/2020, 15:25

    Amigo Marcos bom día!

    Vc já tem a resposta de Damasceno.
    O meu desejo é de continuar a colaborar.

    Saludos


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 30/1/2020, 21:17

    Meus caros amigos Damasceno e Franklin, infelizmente não deu para adaptar tal código utilizado no repositório de exemplo.

    A minha necessidade é ter um código VBA no botão SAIR (btn_SairAPP) de modo que ele lance os dados contidos na caixa txt_Now (=Now) na Tabela Usuarios no usuário logado e discriminado na caixa txtUsuarioAtual (=getUsuarioAtual).

    A minha dificuldade é que a Tabela Usuarios está vinculada ao Formulário Frm_Login.


    O código utilizado por mim e que não está retornando resultado é este abaixo, conforme BD postado na mensagem nº 7:

    Private Sub btn_SairApp_Click()
    DoCmd.SetWarnings False
    DoCmd.RunSQL "Update Usuarios Set Dt_Saiu = '" & Now() & "' Where Login = '" & comb_Login & "' and IsNull(Dt_Saiu)" '
    DoCmd.SetWarnings True
    DoCmd.Close
    DoCmd.OpenForm "Frm_Login"
    End Sub


    Att,


    AMarcos
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1587
    Registrado : 22/11/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  DamascenoJr. em 8/2/2020, 22:46

    Algum avanço, AMarcos?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    AMarcos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 212
    Registrado : 26/07/2016

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  AMarcos em 9/2/2020, 00:07

    Sim meu amigo Damasceno.  

    Depois de muito pesquisar e realizar alguns testes, consegui fazer inserir a data e a hora na Tabela no momento de Logout:

    Private Sub btn_SairApp_Click()
       DoCmd.SetWarnings False
       DoCmd.RunSQL "Update Usuarios Set Dt_Saiu= Now() Where Login = getUsuarioAtual()" '
       DoCmd.SetWarnings True
       DoCmd.Close
       DoCmd.OpenForm "Frm_Login"
    End Sub


    Muito obg pela atenção dispensada!

    Só não dei o resolvido ainda porque estou quebrando a cabeça para conseguir acrescentar o campo Grupo (txt_CtrlGrupo) correspondente ao usuário logado (txtUsuarioAtual) no formulário Menu no momento do Login.

    Com isso irei aplicar as permissões em cima do Grupo logado.  Estou tentando alterar a função LoginSenha e o Formulário Login, mas até agora sem êxito.

    Se o amigo tiver uma oportunidade de me apontar um direção, ficarei muito grato!  Na maioria das vezes as coisas são bem mais fáceis do que parecem.

    Att,


    AMarcos
    Anexos
    Registro de Logout em Tabela AttachmentBanco_Login3.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (169 Kb) Baixado 0 vez(es)

    Conteúdo patrocinado

    Registro de Logout em Tabela Empty Re: Registro de Logout em Tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/4/2020, 12:31