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 Qui 15 Dez 2016, 11:22 am

    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 Qui 15 Dez 2016, 3:03 pm

    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 Qui 15 Dez 2016, 3:24 pm

    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 Qui 15 Dez 2016, 6:06 pm

    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 Qui 15 Dez 2016, 6:42 pm

    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 7 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 Qui 15 Dez 2016, 7:14 pm

    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 Qui 15 Dez 2016, 7:21 pm

    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 Sex 16 Dez 2016, 12:52 pm

    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 Sex 16 Dez 2016, 4:28 pm

    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: Sex 22 Nov 2024, 2:37 pm