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


    [Resolvido]Salvar alterações ao fechar formulário

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 11/7/2019, 13:46

    Prezados do Fórum, bom dia.

    Estou tentando implementar um código no evento Ao Fechar do formulário para que informe que houve alteração em algum registro e pergunte se deseja salvar, mas não está funcionando.

    Tentei usar o código abaixo

    Dim x As Integer
    If Me.Dirty Then
    x = MsgBox("Deseja salvar todas as alterações ?", vbYesNo)
    If x = vbNo Then
    Me.Undo
    End If
    End If


    que achei aqui no fórum, mas só está funcionando quando é implementado em um botão. Quando implementado no evento Ao Fechar do formulário, não funciona; ao clicar no botão Fechar depois de alguma alteração, o formulário fecha sem exibir a msgbox.

    Caso alguém tenha alguma sugestão, fico grato

    Código


    Última edição por OLDRIVG em 11/7/2019, 15:38, editado 1 vez(es) (Razão : Postar como "Resolvido")
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 11/7/2019, 14:08

    Bom dia,

    declare uma variável (por exemplo: booS) do tipo booleana para ser vista em todo o fomulário (lá em cima)

    No botão de salvar registro ponha:

    booS = True

    If booS = True then
    'Ponha aqui o comando para salvar o registro
    end if

    No evento após atualizar:

    booS = False


    aproveitando parte do seu código,

    No evento ante de atualizar:

    if booS = false then
    x = MsgBox("Deseja salvar todas as alterações ?", vbYesNo)
    If x = vbNo Then
    Me.Undo
    End If
    end if


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 11/7/2019, 15:24

    Prezado Marcelo David, bom dia.

    Agradeço-lhe pela a atenção.

    Consegui resolver implementando o código abaixo no evento Antes de atualizar do formulário.

    If Me.Dirty = True Then
           If MsgBox("HOUVE ALTERAÇÃO NESTE REGISTRO. DESEJA SALVA-LA?", vbYesNo + vbInformation, "Atenção") = vbYes Then
         Else
              Me.Undo
           End If
       End If

    Obrigado.

    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 11/7/2019, 15:50

    Então, veja como funciona o que lhe mostrei acima:

    Suponho que tenha um botão para salvar os dados.

    O sistema só salva caso o botão salvar seja pressionado.
    Caso haja alteração de registro e o usuário tentar fechar ou sair
    da edição o sistema irá perguntar se deseja salvar ou não.

    Já da forma que você está sugerindo, apenas se o usuário editar
    o registro e tentar fechar o formulário que o sistema irá perguntar
    se deseja ou não salvar. Mas caso o usuário tente sair do registro para outro
    o sistema irá permitir sem perguntar nada.

    Imagino que o que pretende é evitar que o usuário saia antes de salvar
    todas as informações. Do jeito que eu lhe propôs o sistema irá sempre
    perguntar, caso não seja pressionado o botão salvar.

    Caso queira, posso fazer em algum formulário do seu sistema, se disponibilizar
    para que você teste e veja.



    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 11/7/2019, 16:48

    Prezado Marcelo David, boa tarde.


    Fiz alguns testes da forma que implementei o código e, a primeira vista, funcionou a contento. Ou seja, se houver alguma alteração no registro e o usuário fechar o sistema ou acessar outro registro, o sistema vai questionar se deseja salvar a alteração ocorrida.

    Entretanto, como estou iniciando em Access, interessei-me em saber a forma como sugeriu. Para tanto, anexei uma cópia do BD que estou a criar para que você possa estar implementando a sua sugestão, como se dispôs a fazer.

    O saber nunca é demais.

    Lhe agradeço de antemão.

    PS.: Como está em construção, o BD não está esteticamente apresentável.
    Anexos
    [Resolvido]Salvar alterações ao fechar formulário AttachmentControle de Acesso (Marcelo1).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (806 Kb) Baixado 7 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 11/7/2019, 18:09

    Opa, veja o anexo.
    Anexos
    [Resolvido]Salvar alterações ao fechar formulário AttachmentControle de Acesso (Marcelo1)_new1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (789 Kb) Baixado 10 vez(es)


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 12/7/2019, 11:33

    Bom dia, Marcelo David.

    Obrigado pela a atenção, sugestão e disponibilização do exemplo.

    Muito bom, porém no BD que estou criando ocorre alguns entraves:
    1 -  se ocorrer alguma alteração no campo "Motivo Visita" da guia "Registro de Entrada" e o usuário desistir de salvar, ocorre erro de execução no código de salvamento existente no Evento Ao Sair do campo.
    2 - ao tentar acessar algum registro já existente (anterior ou posterior ao atual) depois de alguma alteração e clicar em não salvar, o foco permanece no registro atual, não acessando o registro pretendido e, consequentemente, obrigando o usuário a clicar novamente no botão de navegação ou salvar a alteração. Salvando, é exibido o registro pretendido.
    3 - No formulário existe um botão "Registrar Acesso". Se houver tido alguma alteração no registro atual e clicar em Registrar Acesso, é exibida a msg de salvar ou não. Entretanto, se clicar em não salvar, é exibida uma janela de erro (Propriedade não encontrada) e não exibe a janela de Localizar. Salvando a alteração é exibida a janela de Localizar normalmente.

    Pode ser que estes erros ocorram somente no BD em questão devido a alguns eventos que estão implementados nos campos. Não sei!!!

    Mas a sugestão é muito boa.

    Mais uma vez agradeço.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 12/7/2019, 13:26

    No evento ao ocorrer erro, terá que tratar o erro de dados 2169 em todos os formulários que for usar essa técnica.

    Poderia ser algo do tipo no evento Ao ocorrer erro: If DataErr = 2169 Then Response = acDataErrContinue

    Caso isso não resolva, vamos reabrir o tópico, blz? Very Happy


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 12/7/2019, 13:45

    Não resolveu. Continua com os mesmos entraves.

    Você chegou a constatar o erro na cópia do BD que anexou de volta? Estou fazendo os testes nele.

    Obrigado.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 12/7/2019, 15:10

    Então, o arquivo que anexei, funciona normal, sem erro algum.
    Certeza que vc não está tratando os erros da forma que falei.

    Em anexo, um modelo apenas com os códigos envolvidos de deverão
    serem copiados para os respectivos eventos.
    Anexos
    [Resolvido]Salvar alterações ao fechar formulário AttachmentSoSalvaSeClicarSalvar.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (107 Kb) Baixado 10 vez(es)


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 12/7/2019, 16:03

    Prezado Marcelo David,

    Copiei os códigos que enviou no arquivo SoSalvaSeClicarSalvar, colando-os nas respectivas propriedades de Eventos do BD que você retornou na msg 6. Infelizmente continua os mesmos entraves relatados na msg 7.

    Como escrevi na mesma msg 7, o BD que estou criando possui vários outros códigos implementados (inclusive no evento Ao ocorrer erro), e o exemplo que anexou só possui os códigos para salvar alteração e tratar erros. Não sou expert em VBA, então pergunto se o fato de haver outros códigos no BD pode estar causando os entraves relatados na msg 7.

    Como também citei na msg 9, os testes estão sendo realizados no arquivo que você retornou na msg 6. Aqui no meu computar apresenta erros. Uso o Access 2016 64bits.A versão do Access utilizada faz alguma diferença?

    Agradecido.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 12/7/2019, 17:34

    Reabri o tópico, por não está resolvido. Quando for resolvido, feche novamente, por favor.

    O código que estou usando não interfere ba arquitetura do Access, pois além de não usar API do SO, não usa OCX.

    Sobre ter códigos além dos que eu implementei, sim, pode ser que haja alguma interferência, mas em todos os
    dois exemplos que anexei aqui não apresentam erros.

    Poderia postar o banco que está apresentando erro?


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 12/7/2019, 17:58

    Prezado Marcelo David, boa tarde.

    Cópia do BD que está apresentado erro está na msg 5 deste post. É o mesmo que você retornou com os códigos implementado na msg 6.

    Obrigado.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 12/7/2019, 19:05

    Baixei aqui o arquivo da mensagem 5 e gravei um vídeo teste para você ver que não ocorre erro.
    Agora se foi feito alguma alteração, aí sim, precisamos saber o que você mudou.
    Anexos
    [Resolvido]Salvar alterações ao fechar formulário AttachmentVideo_1562943633.wmv
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.2 Mb) Baixado 8 vez(es)


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 15/7/2019, 10:41

    Prezado Marcelo David, bom dia.

    Agradeço-lhe pelo empenho e atenção.

    Visualizei no vídeo que você está fechando o formulário clicando no botão fechar (X). Eu não citei que está dando erro desta forma. Verifique a msg 7, por favor. Nela está escrito:

    "1 -  se ocorrer alguma alteração no campo "Motivo Visita" da guia "Registro de Entrada" e o usuário desistir de salvar, ocorre erro de execução no código de salvamento existente no Evento Ao Sair do campo.
    2 - ao tentar acessar algum registro já existente (anterior ou posterior ao atual) depois de alguma alteração e clicar em não salvar, o foco permanece no registro atual, não acessando o registro pretendido e, consequentemente, obrigando o usuário a clicar novamente no botão de navegação ou salvar a alteração. Salvando, é exibido o registro pretendido.
    3 - No formulário existe um botão "Registrar Acesso". Se houver tido alguma alteração no registro atual e clicar em Registrar Acesso, é exibida a msg de salvar ou não. Entretanto, se clicar em não salvar, é exibida uma janela de erro (Propriedade não encontrada) e não exibe a janela de Localizar. Salvando a alteração é exibida a janela de Localizar normalmente."


    Os erros ocorrem nas situações acima citadas.

    A propósito, não houve nenhuma alteração no BD após você implementar o código no exemplo da msg 5.

    Agradecido
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 15/7/2019, 13:01

    Bom dia,

    OLDRIVG escreveu:"1 -  se ocorrer alguma alteração no campo "Motivo Visita" da guia "Registro de Entrada" e o usuário desistir de salvar, ocorre erro de execução no código de salvamento existente no Evento Ao Sair do campo.
    2 - ao tentar acessar algum registro já existente (anterior ou posterior ao atual) depois de alguma alteração e clicar em não salvar, o foco permanece no registro atual, não acessando o registro pretendido e, consequentemente, obrigando o usuário a clicar novamente no botão de navegação ou salvar a alteração. Salvando, é exibido o registro pretendido.
    3 - No formulário existe um botão "Registrar Acesso". Se houver tido alguma alteração no registro atual e clicar em Registrar Acesso, é exibida a msg de salvar ou não. Entretanto, se clicar em não salvar, é exibida uma janela de erro (Propriedade não encontrada) e não exibe a janela de Localizar. Salvando a alteração é exibida a janela de Localizar normalmente."

    1º) Veja que aqui comigo não ocorreu erro algum navegando entre registros ou fechando o formulário
    Obs: O código do evento Ao sair dos campos MotivoVisita** não se faz necessário e poderá ser ele que estão causando conflito aí, coisa que não acontece aqui como pode ver.
    2º) O vídeo mostra que aqui não ocorreu nenhum desses inconveniente...
    3º) O vídeo também mostra que não ocorre isso aqui...

    Se na minha máquina nada ocorre como a sua, há alguma coisa específica aí que causa esses erros, infelizmente não tenho acesso ao seu pc e averiguar o que ocorre. Mas faça teste retirando o código do evento ao sair, pois ele tenta salvar de qualquer forma um registro que já foi salvo ou foi canceado e isso sim pode causar algum conflito.  

    E realmente preso pela sua edução e clareza em mostrar tão meticulosamente o que já havia me falado em menagens anteriores, isso nos motiva a continuar dispondo de nosso precioso tempo em ajudar. Continue assim.

    Baixe o vídeo aqui.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 15/7/2019, 14:56

    Prezado Marcelo David, agradecido pela a atenção.

    Vi o vídeo. O  BD em seu computador não apresenta erros, mas no meu computador os erros que citei em msgs anteriores ocorrem.

    Retirei o código do evento Ao Sair dos campos "Motivo Vista", mas não alterou em nada. Continuou com os erros.

    Como citei na msg 3, vou utilizar o código que ali postei, pois funcionou sem problemas aqui no BD em meu computador. O seu código é, com certeza, melhor do que vou utilizar, mas infelizmente não funciona aqui e, apesar de tentar várias formas, não estou conseguindo fazer com que funcione.

    E como já explorei em demasia a sua boa vontade, vou utilizar o código citado na msg 3 e dar o tópico por resolvido.

    Mais uma vez agradeço-lhe pela sua atenção, boa vontade e perseverança em me ajudar. Em alguma outra oportunidade espero poder contar com você.

    Obrigado!
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 15/7/2019, 15:11

    Se você quiser, posso fazer um acesso remoto no seu micro e vermos junto o corrido e tentarmos algo.
    Caso positivo, uso o Ammy e na parte da tarde (após as 17 e antes das 18) ou a noita (após as 21h) podemos ver isso.



    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 15/7/2019, 15:31

    Ok.
    Aceito a sua sugestão, porém teremos que combinar para depois das 21 horas. O BD fica no computador do trabalho, vou fazer uma cópia do mesmo e levar para casa. De repente pode até funcionar.
    De qualquer forma ao chegar em casa hoje e verifico se ainda tenho o Ammy instalado e entramos em contato.
    Obrigado
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 15/7/2019, 15:50

    Combinado então!


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 16/7/2019, 01:10

    Ok.
    Como vamos nos comunicar?
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 16/7/2019, 02:15

    Opa, pode me enviar e-mail: marcelordavid@hotmail.com
    Meu skype é: marcelordavid


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2823
    Registrado : 21/04/2011

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Marcelo David em 29/7/2019, 19:23

    Este tópico será encerrado, caso permaneça em inatividade.


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  OLDRIVG em 29/7/2019, 20:19

    Ok.
    Obrigado

    Conteúdo patrocinado

    [Resolvido]Salvar alterações ao fechar formulário Empty Re: [Resolvido]Salvar alterações ao fechar formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 15/9/2019, 23:54