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

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    avatar
    VSAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 09/05/2016

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  VSAccess 15/12/2016, 11:22

    Bom dia

    Preciso de uma ajuda, tenho um sistema montado com controle de acesso. Nele tenho uma tabela de auditoria onde fica registrado o usuário, computador e data/hora de login.
    Ai vem o problema, quando o usuário digita a senha errada o registro permanece nesta tabela, e não deveria. A informação somente deveria ficar nesta tabela após o login ter sido concluído com exito.
    Criei uma consulta de exclusão (Qry_Excluirlog) onde caso o usuário não conclua o login o registro deverá ser excluído da tabela, mas não esta funcionando.

    Segue abaixo para facilitar o entendimento.

    If Not IsNull(CaixaLogin) And Not IsNull(CaixaSenha) Then
    If verificaLogin(CaixaLogin, CaixaSenha) Then
    DoCmd.Close
    DoCmd.OpenForm "FormSubMenu"

    Else
    MsgBox "Senha inválida!", vbExclamation, "Login"
    DoCmd.OpenQuery "Qry_ExcluirLog"
    End If

    End If

    Desde já agrade
    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

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  CassioFabre 15/12/2016, 15:03

    Boa tarde,

    O procedimento mais correto e simples a se fazer no seu caso é excluir o registro quando o usuário sair do sistema e incluir se ele entrar. Como?

    Reparei que tem um formulário de menu "FormSubMenu", supondo que esse formulário jamais seja fechado, a não ser que o sistema seja, basta que no evento "ao fechar" deste formulário voce insira a rotina para excluir o registro da tabela. Não precisa de consulta de exclusão, um simples: CurrentDb.Execute "DELETE * FROM [tabela] WHERE usuario = '" & [campoUsuarioTabela] & "'" ja resolve. E para incluir o registro, não sei onde você está colocando a rotina para inclui-lo na tabela, mas você pode colocá-la no evento "Ao Carregar" do formulário FormSubMenu.

    Abraço.
    avatar
    VSAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 09/05/2016

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Re: [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  VSAccess 15/12/2016, 15:24

    Cássio

    Obrigado pelo retorno

    O processo de incluir o registro ao logar e excluir ao fechar o Form_Submenu na tabela esta funcionando corretamente. Estou tendo problemas e preciso de ajuda para que quando o usuário tente fazer seu login, mas por algum motivo ele erre a senha esse registro seja apagado ao fechar a msg de informação que a senha esta incorreta.
    Jair Martins
    Jair Martins
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 78
    Registrado : 23/03/2016

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Re: [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  Jair Martins 15/12/2016, 18:06

    Olá,VSAccess.

    Nesse caso, recomendo outra estratégia, que consiste não em apagar o registro, mas nem deixar que o registro ocorra.

    Creio que o form de acesso está vinculado à tabela de auditoria, estou certo?
    Então, esqueça a consulta exclusão. No evento Antes de Atualizar do form, insira o mesmo código que você publicou, mas substitua a linha:

    DoCmd.OpenQuery "Qry_ExcluirLog"

    Por estas 3:

    Cancel = True
    Me.Undo
    Exit Sub

    Faça o teste e veja se funciona.

    Abs.
    avatar
    VSAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 09/05/2016

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Re: [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  VSAccess 15/12/2016, 18:42

    Jair

    Obrigado pelo retorno

    Acredito que não tenha conseguido adaptar este código em meu projeto. Estou postando ele aqui para visualizar e entender o que não estou conseguindo fazer corretamente.
    Anexos
    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox AttachmentLogin.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (53 Kb) Baixado 6 vez(es)
    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

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  CassioFabre 15/12/2016, 19:14

    Boa tarde,

    A ideia que tive foi que o registro só seria feito na tabela no momento em que o formulário menuprincipal fosse aberto, ou seja, caso o usuário não consiga fazer o login obviamente este formulário não será aberto e obviamente naõ terá registro na tabela. Por isso indiquei que o código fosse colocado no evento ao carregar do formulário de menu principal. Tente fazer isso.

    Abraço.
    avatar
    VSAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 09/05/2016

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Re: [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  VSAccess 15/12/2016, 19:21

    Cássio

    Não deu certo, postei um exemplo para entender o que esta dando errado
    Jair Martins
    Jair Martins
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 78
    Registrado : 23/03/2016

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Re: [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  Jair Martins 16/12/2016, 12:52

    Olá,VSAccess.

    Minha suposição de que o form estaria originado na tabela Acessos estava errada. Dessa forma, colocar o código no evento Após Atualizar não tem razão de ser. Por isso que dá erro na instrução Cancel = True. Esta variável não e definida no evento Ao Clicar no botão OK.
    O problema está acontecendo porque o registro do novo acesso está vinculado ao evento Ao Perder Foco do botão de comando. Assim, o registro será feito quer você queira, quer não. Basta ter algum dado e sair do botão. Então, vamos colocar a instrução SQL no mesmo evento Ao Clicar do botão OK, mas dentro da condicional. Assim:

    If Not IsNull(CaixaLogin) And Not IsNull(CaixaSenha) Then
    If verificaLogin(CaixaLogin, CaixaSenha) Then
    CurrentDb.Execute "INSERT INTO tblAuditoria(NomeUsuario,DataLogin,ComputadorOrigem) VALUES ('" & Me.CaixaLogin & "','" & Me.Hora & "','" & Me.NomeMaquina & "')"
    DoCmd.Close
    DoCmd.OpenForm "FormSubMenu"

    Else
    MsgBox "Senha inválida!", vbExclamation, "Login"

    End If

    End If

    Testei aqui no seu BD e funcionou. Veja aí.

    Abs.
    avatar
    VSAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 32
    Registrado : 09/05/2016

    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Re: [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  VSAccess 16/12/2016, 16:28

    Jair

    Esta funcionando corretamente, agora entendi a forma correta de montar.

    Obrigado pela ajuda

    Conteúdo patrocinado


    [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox Empty Re: [Resolvido]Executar uma consulta de exclusão ao clicar no botão OK do msgbox

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/5/2024, 08:43