bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Função para fechar todos os formulários
Função para fechar todos os formulários

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

Em certas situações é necessário forçar o fechamento de formulários.  Por exemplo, o aplicativo Maestro que ofereço neste site, faz uso desta técnica de fechar os formulários para poder realizar o logoff e trocar de usuário.

Quando um formulário é aberto, ele assume um número que começa do zero(0).  Podemos identificar o nome de um formulário aberto, através deste número.  Exemplo de dois formulários abertos:

forms(0).name :::> frmLogin

forms(1).name :::> frmClientes

A propriedade count retorna à quantidade de formulários que estão abertos.  Exemplo:

forms.count :::> 2

Vamos supor que eu feche o formulário frmLogin do exemplo acima, o número de identificação será  atualizado automaticamente e o formulário frmClientes passará a ser identificado pelo zero(0)

forms(0).name :::> frmClientes

forms(1).name :::> Erro 2456 - número inválido

Observe na função abaixo que o laço FOR foi configurado para percorrer os formulários do maior número de identificação para o menor (step -1), justamente por causa da reconfiguração automática dos números de identificação dos formulários abertos que ocorre quando um deles é fechado.

Faça o login aqui para ter acesso ao código.

Para realizar o logoff a função é chamada assim:

call fncFechaForms(true) :::> fecha todos os formulários, exceto o formulário de Login (frmLogin)

Ao encerrar o aplicativo, a função é chamada para fechar todos os formulários:

call fncFechaForms() :::> fecha todos os formulários.

Bom estudo!


 

 


4 comentário(s)

Alessandro   17/08/2020 12:51:25

Estou precisando de um código para fechar o access por completo se ficar sem uso por um determinado tempo.

Valdir Pereira da   04/07/2019 11:11:06

Avelino,

Teria um para fechar o Banco de Dados inteiro após certo tempo de inatividade??
Estou usando com ribbon persanalizada pelo montaribbons adquirido de você.

Amaral do AtivoAccess   18/02/2019 07:58:25

Obrigado Avelino. Excelente solução.

Sales   09/01/2018 19:01:10

Boa noite,
Fiz um botão para fechar os formulários, exceto um, mas ta fechando todo o banco de dados.
Help

Private Sub REABRIR_Click()
Call fncFechaFormsPS(True)
Me.SITUAÇÃO.Value = "CANCELADO"
End Sub

Public Function fncFechaFormsPS(Optional booLogOff As Boolean = False)
'----------------------------------
'fecha todos os formulários abertos
'----------------------------------
On Error Resume Next
Dim j As Integer, NF As Integer
NF = Forms.Count
For j = (NF - 1) To 0 Step -1
If booLogOff Then
If Not Forms(j).Name = "F_PS_CADASTRO" Then
DoCmd.Close acForm, Forms(j).Name, acSaveYes
End If
Else
DoCmd.Close acForm, Forms(j).Name, acSaveYes
End If
Next j
End Function


Envie seu comentário: