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


+2
JPaulo
andre.lr
6 participantes

    [Resolvido]Fechar formulário sem salvar alterações

    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Fechar formulário sem salvar alterações Empty Fechar formulário sem salvar alterações

    Mensagem  andre.lr 28/11/2011, 12:36

    Amigos, estou com uma dificuldade, no meu formulário simples "RG LA 23" tenho dois botões para salvar!

    Botão 1: Salva e vai para um novo registro!
    Private Sub Comando140_Click()

    MsgBox "O Registro foi Salvo com Sucesso", vbInformation, "Registro Salvo"
    DoCmd.Save acForm, "RG LA 23 SAP - Formulário"
    Me.Refresh
    DoCmd.GoToRecord , , acNewRec
    Exit Sub
    End Sub

    Botão 2: Salva e fecha formulário!
    Private Sub Comando140_Click()

    MsgBox "O Registro foi Salvo com Sucesso", vbInformation, "Registro Salvo"
    DoCmd.Save acForm, "RG LA 23 SAP - Formulário"
    DoCmd.Close acForm, "RG LA 23 SAP - Formulário"
    Exit Sub
    End Sub


    Só que agora reparei, que ao fechar o formulário mesmo sem eu ter clicado em nenhum desses botões ele salva as alterações dos campos automáticamente Neutral
    gostaria que não acontecesse isso, então tentei utilizar uma macro desfazer registro no evento ao fechar, ela funcionou, quando fecha o formulário não salva as alterações, só que também ela está cancelando os meus dois botões de salvar,,, você clica e salva mas quando fecha o formulário e abre denovo para verificar, as alterações não estão mais salvas!

    Qual seria a solulção amigos!???
    também tentei colocar em código o comando desfazer registro e deu a mesma coisa!

    Private Sub Form_Close()
    On Error GoTo Form_Close_Err
    DoCmd.RunCommand acCmdUndo
    Form_Close_Exit:
    Exit Sub
    Form_Close_Err:
    MsgBox Error$
    Resume Form_Close_Exit
    End Sub


    Obrigado pela atenção qualquer dúvida sobre a questão eu esclareço!
    avatar
    Convidad
    Convidado


    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  Convidad 28/11/2011, 13:22

    Talvez fosse mais simples você apenas colocar um código no evento Current do form.

    Se houve alteração no registro (If Form_Dirty = True) exibe uma MsgBox Sim/Não perguntando se deseja salvar.

    Se for Sim - DoCmd.RunCommand acCmdSaveRecord
    Se for Não - Form.Undo

    Isso se seu form não estiver exibindo os botões de navegação.
    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  andre.lr 28/11/2011, 14:01

    na verdade não é bem isto que estava pensando amigo! mas obrigado!

    gostaria somente que ao fechar ele não salve alteração nenhuma.... salve apenas com os meus 2 botões!
    só para esclarecer esses botões aparecem apenas na tela na impressão não!
    avatar
    Convidad
    Convidado


    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  Convidad 28/11/2011, 14:19

    Seu formulário está exibindo os botões de navegação?
    Com eles exibidos, o Access salva automaticamente. Ao menos é assim no 2003.
    A não ser que você intercepte.
    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  andre.lr 28/11/2011, 16:02

    Não! eu sempre tiro os botões de navegação... estou usando o 2010... está sem os botões de navegação e mesmo assim continua salvando qualquer alteração nos campos automáticamente ao fechar... queria mto inibir isso!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  JPaulo 28/11/2011, 16:14

    Olha eu aqui.

    Teste assim, mesmo fechando o form no botão de defeito X;

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    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
    End Sub






    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Fechar formulário sem salvar alterações Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Fechar formulário sem salvar alterações Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Fechar formulário sem salvar alterações Folder_announce_new Instruções SQL como utilizar...

    napoli gosta desta mensagem

    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  andre.lr 28/11/2011, 18:05

    Então amigos esse comando funciona, mas não da forma que eu busco... a menssagem aparece também na hora que utilizo meus botões de salvar , pois, o primeiro botão salva e vai até o novo registro

    Private Sub Comando140_Click()
    MsgBox "O Registro foi Salvo com Sucesso", vbInformation, "Registro Salvo"
    DoCmd.Save acForm, "RG LA 23 SAP - Formulário"
    DoCmd.GoToRecord , , acNewRec
    Exit Sub
    End Sub


    e o segundo salva e fecha simplesmente

    Private Sub Comando134_Click()
    MsgBox "O Registro foi Salvo com Sucesso", vbInformation, "Registro Salvo"
    DoCmd.Save acForm, "RG LA 23 SAP - Formulário"
    DoCmd.Close acForm, "RG LA 23 SAP - Formulário"
    Exit Sub
    End Sub


    e o que ocorre é que além da menssagem que os botões já tem programada,,, a menssagem do comando de vocês também acaba aparecendo não sei porque.... com a pergunta e tudo Deseja salvar todas as alterações ? sim não

    e não queria que ficasse assim...

    mas td bem, consegui resolver de uma forma alternativa mas que me atende...removi o botão fechar X e a a caixa de controle e coloquei um botão criado por mim que ao clicar nele realiza o comando desfazer e fechar formulário.... e pronto! não afeta os outros botões que tenho para salvar o registro e também fecha o formulário sem salvar nada!! =]

    Bom foi uma solução alternativa mas se alguém tiver ai um comando que funcione como eu tava pensando obrigado!
    por enquanto está resolvido!
    obrigado pela ajuda amigos!
    avatar
    joanammc
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Portugal
    Mensagens : 88
    Registrado : 30/12/2012

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  joanammc 7/3/2013, 09:42

    Bom dia amigos. Tenho uma duvida parcida e não estou a conseguir resolver. Já testei vários codigo que encontrei noutros topicos do forum e nada.

    Tenho um fomulario com dois subforms. Quero que grave toda a informação o quando carrego no botão gravar. se carregar no sair dá mensagem se pretendo gravar ou não.

    Para o botão gravar usei:

    Private Sub Comando16_Click()
    Dim msg
    DoCmd.RunCommand acCmdSaveRecord
    msg = MsgBox("Registro salvo com Sucesso!", vbExclamation + vbOKOnly + vbDefaultButton2, "AVISO")
    End Sub

    O que tenho de fazer para nao gravar antes de eu carregar neste botão?

    No botão de sair já testei vários codigo mas aparece-me sempre que mudo de subform em vez de aparecer só quando fecho.

    Agredeço a ajuda
    carloshmfernandes
    carloshmfernandes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 13/08/2013

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  carloshmfernandes 18/8/2013, 16:01

    Não sei se resolveu o seu problema, vejo que isso é um problema quando estamos usando formulários com os controles acoplados, isso ajuda em muito eliminando a programação via código para buscar os dados, mas temos essa questão de atualização na mesma hora que digitamos.

    Crie um botão fechar e nele coloque uma macro ou até mesmo código Vba

    a macro ficou assim
    Condição                       Ação                      Argumentos
    [Formulário].[Sujo]        ExecutarComando       Desfazer
                                    Fechar                      aviso

    Ele desfaz o que foi editado e sai.
    Agora usando macro não sei como posso fazer para criar o botão Sim ou Não e cancelar o fechamento do form.

    Exportei a macro para o Vba e peguei o código gerado. acho que deu certo.
    Private Sub BtnFechar_Click()
    On Error GoTo BtnFechar_Click_Err

    With CodeContextObject
    If MsgBox("Deseja sair?", vbInformation + vbYesNo, "Aviso") = vbYes Then
    If (.Form.Dirty) Then
    DoCmd.RunCommand acCmdUndo
    End If
    DoCmd.Close , ""
    End If
    End With


    BtnFechar_Click_Exit:
    Exit Sub

    BtnFechar_Click_Err:
    MsgBox Error$
    Resume BtnFechar_Click_Exit
    End Sub
    carloshmfernandes
    carloshmfernandes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 13/08/2013

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  carloshmfernandes 18/8/2013, 18:49

    Melhor assim, ai é só chamar ele em cada botão de Sair ou Fechar

    Criar um módulo ou dentro de algum módulo

    Código:
    Function Desfazer_Sair(Form As Form)
    On Error GoTo Desfazer_Sair_Err

        With CodeContextObject
        If MsgBox("Deseja sair?", vbInformation + vbYesNo, "Aviso") = vbYes Then
            If (.Form.Dirty) Then
                DoCmd.RunCommand acCmdUndo
            End If
            DoCmd.Close , ""
        End If
        End With
    Desfazer_Sair_Exit:
        Exit Function

    Desfazer_Sair_Err:
    '    MsgBox Error$
        Resume Desfazer_Sair_Exit
    End Function

    Depois só chamar assim:

    Código:
    Private Sub BtnFechar_Click()
    Call Desfazer_Sair(Me)
    End Sub
    Oliveira89
    Oliveira89
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 159
    Registrado : 07/09/2016

    [Resolvido]Fechar formulário sem salvar alterações Empty Funcional e objectivo

    Mensagem  Oliveira89 28/9/2016, 10:00

    Bom dia amigos

    Usei o seguinte código e funcionou direitinho Smile

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    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
    End Sub

    Obrigado
    avatar
    Ismael Silva
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 827
    Registrado : 11/12/2017

    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  Ismael Silva 27/8/2018, 11:56

    Estava com um problema ao sair do formulário, salvava automático, e com esse tópico conseguir resolver.

    Conteúdo patrocinado


    [Resolvido]Fechar formulário sem salvar alterações Empty Re: [Resolvido]Fechar formulário sem salvar alterações

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 08:02