Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gabrieldb

[Resolvido] Detectar Alterações no Form

Recommended Posts

Pessoal estou com um probleminha, gostaria de fazer uma função parecida com a do Word, Notepad:

Quando o formulário é fechado o sistema verifica se algum campo foi alterado e abre uma mensagem para saber se o usuário pretende mesmo fechar sem salvar, caso nada tenha sido alterado o Formulario é fechado sem mensagem alguma.

 

Se alguem puder ajudar agradeço!

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Gabriel.

 

Nunca tinha pensado em algo assim.

 

Mas veja se isso lhe ajuda. Você pode salvar em variáveis os dados de todas suas text do form. Se inserir um novo ou alterar alguma coisa e depois clicar em salvar, suas variáveis são atualizadas.

 

Quando sair, comparar as variáveis com as caixas, se algum valor for diferente, você pergunta se quer salvar.

 

Bom, como te disse, nunca fiz isso, vamos ver se vem alguma idéia melhor ai, se não, tente usar essa. Parece dar certo.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode também colocar no evento Change dos controles, um flag.

 

Quando for fechar o formulário verifica essa flag.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode também colocar no evento Change dos controles, um flag.

 

Quando for fechar o formulário verifica essa flag.

 

Pode me ajudar a fazer isso ? Nisso ai sou meio leigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma váriavel para todo o form.

No load do form você coloca FormAlterado = False.

 

Nos eventos CHANGE dos seus textbox, combobox, e mais o que voc^tiver na tela, você coloca FormAlterado = True

 

 

Daí no evento QueryUnload do Form você verificaessa variavel.

If FormAlterado then
salvar
else
nao faz nada
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma váriavel para todo o form.

No load do form você coloca FormAlterado = False.

 

Nos eventos CHANGE dos seus textbox, combobox, e mais o que voc^tiver na tela, você coloca FormAlterado = True

 

 

Daí no evento QueryUnload do Form você verificaessa variavel.

If FormAlterado then
salvar
else
nao faz nada
end if

Dificil demais isso ai algumas coisas no VB nem sei direito...sabe de algum curso online ?

 

Tentei aki mais ele não dá a opção se quer salvar "sim" ou "não" ele tá salvando direto quando clico no botão fechar eu tmb tenho um botão sair...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que não conseguiu fazer ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que não conseguiu fazer ?

 

ele não dá a opção se quer salvar "sim" ou "não" ele tá salvando direto quando clico no botão fechar ou no botão sair

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde você salva chama um msgbox

 

If MsgBox("Salvar?", vbYesNo, "Aviso") = vbYes Then
    MsgBox "YES"
    Else
    MsgBox "NO"
    End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver Scorpio

se alguém precisa ai vai como ficou o meu código:

 

Crie uma váriavel para todo o form.

No load do form você coloca FormAlterado = False.

 

Nos eventos CHANGE dos seus textbox, combobox, e mais o que você tiver na tela, você coloca FormAlterado = True

 

 

Daí no evento QueryUnload do Form você verificaessa variavel.

 

Assim que eu fiz e deu certo:

 

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

  If MsgBox("Deseja salvar alterações?", vbYesNoCancel + vbQuestion, "Aviso") = vbYes Then
    cmdSalvar_Click
  Else
    Unload Me
  End If
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel, vi que colocou sua função para conferir alteração do form no post de dicas. Parabéns pela iniciativa, foi legal.

 

Só queria te alertar para uma coisa. Seu form deve ter um botão de salvar. Não esqueça de no botão salvar, colocar FormAlterado = false novamente. Não fazendo isso, ele irá salvar de novo quando sair, mesmo que o usuário já tenha salvo.

 

Só uma dica...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel, vi que colocou sua função para conferir alteração do form no post de dicas. Parabéns pela iniciativa, foi legal.

 

Só queria te alertar para uma coisa. Seu form deve ter um botão de salvar. Não esqueça de no botão salvar, colocar FormAlterado = false novamente. Não fazendo isso, ele irá salvar de novo quando sair, mesmo que o usuário já tenha salvo.

 

Só uma dica...

 

Valeu Claudio , bem lembrado...obrigado

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.