... Assinatura do site por 3 anos + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$145,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Permitir fechar o Access apenas por botões específicos

Para impedir o fechamento do Access pelo botão fechar (canto superior direito), pela combinação de teclas ALT+F4 ou pela Ribbon é necessário que um formulário de controle se mantenha aberto (podendo ficar oculto).  

Veja o código utilizado no evento "Ao descarregar" deste formulário de controle, que impede a saída do Access sem a devida autorização.

Private Sub Form_Unload(Cancel As Integer)
If blnSair = False Then
   MsgBox "Para sair do Access clique no botão [Sair] do formulário...", _ 
   vbInformation, "Aviso"
   Cancel = True
Else
   'Sair do Access
   DoCmd.Quit
End If
End Sub

Observe que o evento possui o argumento Cancel que  permite cancelar o fechamento do formulário e como conseqüência impede o fechamento do Access.

A variável blnSair com escopo Public deve ser criada em um módulo global.

Public blnSair as boolean

Como você aprendeu na dica 26 acima, a variável do tipo boolean tem o valor padrão False.  Para então ser possível o fechamento do formulário e conseqüentemente o fechamento do Access é necessário passar a variável blnSair para True

Observe o código abaixo do botão btSair do formulário principal, utilizado no exemplo abaixo:

Private Sub btSair_Click()
blnSair = True
DoCmd.Close acForm, "frmControleSaida"
End Sub

Segue um pequeno exemplo para você testar.

Ao rodar o aplicativo exemplo, os formulários frmPrincipal e frmControlesaida serão carregados, sendo que o formulário frmControleSaida estará oculto.

Nota:  Para impedir o carregamento dos formulários, mantenha a tecla SHIFT pressionada na inicialização.

Bom estudo!


 

 


3 comentário(s)

Leandro Silva   07/05/2017 15:59:25

Boa dica Avelino, implantei essa rotina, porém em meu sistema de vendas quando tento fechar o mesmo pelo botão direito do icone na barra de tarefas após o evento "Unload" o form de vendas volta para o primeiro registro da tabela.

Saberia informar o que pode estar ocorrendo?

Abs!

Avelino Sampaio   09/05/2017 01:47:45

Leandro,

se inscreva no meu fórum e me ofereça mais detalhes sobre o caso. Vc está usando o formulário de vendas para implementar este código ? O erro só acontece pela barra de tarefas ?

Te aguardo lá pelo fórum

Avelino Sampaio   09/05/2017 01:48:42

Leandro,

o endereço do fórum: http://www.redeaccess.com.br



Envie seu comentário: