Ir para o conteúdo
bLasTz

Aviso de Sair sem guardar

Mensagens Recomendadas

bLasTz

Boas,

num formulário coloquei 2 botões, um para guardar e outro para sair. No entanto, se a entrada for editada quero que se o user tente sair sem guardar, fazer o display de uma msgbox com 2 opcões. Pensei usar o vbYesNo para fazer o habitual "pretende sair sem guardar?" Yes para voltar e guardar e No para sair sem guardar. Existe já alguma função do vba para fazer isto?

Melhores cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Dexter's Lab

Uma solução que me vem à cabeça é colocares uma variável ("sair") a 0.

Durante todo o programa essa variável está a 0, se ele coloca "guardar" essa variável torna-se 1. Mas se ele volta a mexer num input qualquer ou a mexer com outra variável essa "sair" volta a ficar a 0. Se ele carregar no botão sair com essa variável a 0, o programa vai perguntar se ele pretende guardar. Se ele carregar no botão com a variável a 1, então não pergunta.

Acho que a verdadeira dificuldade aqui seria programares a tua variável "sair" a modificar o seu valor a cada mexida do programa pelo utilizador. Mas assim de repente vem-me a seguinte sub-solução: crias uma função que mexe o valor dessa variável para zero e chamas essa função em "toda a parte do código" que haja input.

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Existe já alguma função do vba para fazer isto?

Não, a solução que estás a usar é a mais correcta ou, caso não gostes da msgbox, podes usar um userform para o mesmo efeito. Eu acho que a msgbox é uma boa solução.

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bLasTz

Muito obrigado pelas respostas.

O meu problema é o tipo de função que irei utilizar para reconhecer se o objecto foi modificado ou não. Eu pretendo que esta função corra, apenas se o subformulário for editado. Andei a procura no ADO objects e encontrei isto: adEditInProgress 1 The current record has been edited but not saved

Será por aqui?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.