Jump to content

Recommended Posts

Posted

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

Posted

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.

  • Vote 1
Posted

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?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.