... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,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.


Botão da ribbon está fechando o Access

Usuário Marcos:

Avelino, bom dia.

Talvez você saiba o que pode estar acontecendo.  Se eu abrir o formulário fora da ribbon, ele abre normalmente, mas quando tendo abri-lo pela ribbon, o Microsoft Access é encerrado automaticamente, sem qualquer mensagem, antes mesmo de entrar no mod_ribbon.  Você tem alguma idéia do que pode estar acontecendo?

Agradeço por mais essa grande ajuda.

Suporte:

Marcos,

qual o código usado pelo botão da ribbon? Um simples Docmd.OpenForm?

Usuário Marcos:

Sim, um simples OpenForm.

Analisando melhor, percebi que quando entro no projeto, através do frmLogin (o mesmo do Maestro) é que ocorre o fato. Se entrar pulando o frmLogin, o formulário abre normalmente.

O problema dá apenas em alguns formulários, em outros o funcionamento é normal.

Não consegui descobrir o porquê, mas quando clico no tal formulário, ele vai para o código abaixo. Eu inibi a execução e agora está abrindo o formulário normalmente, mas não sei a conseqüência dessa inibição, ainda estou testando.

Private Sub Form_Close()
' On Error Resume Next
'If nlogoff = False Then Exit Sub
'rslista.Close
'Set rslista = Nothing
'Set bdlista = Nothing
'If Not booNovoVinculo Then DoCmd.Quit
End Sub

O código acima está no frmLogin, como disse, não consegui descobrir o porquê de alguns formulários entrarem aí.

Suporte:

Marcos,

de fato quando se fecha o formulário de login (frmLogin), o aplicativo se fecha. Por  acaso, você está usando a função fncFechaForms(), lá no código do botão da ribbon? Se sim, utilize assim: fncFechaForms(true)

Analise o código e observe os comentários.

Public Function fncFechaForms(Optional blnLogOff As Boolean = False)
On Error Resume Next
Dim j As Integer, nf As Integer
nf = Forms.Count
For j = (nf - 1) To 0 Step -1
    If blnLogOff Then
        'Fecha todos os formulários, menos o de login
        If Not Forms(j).Name = "frmLogin" Then
            DoCmd.Close acForm, Forms(j).Name, acSaveYes
        End If
    Else
        'fecha todos os formulários, inclusive o de login
        DoCmd.Close acForm, Forms(j).Name, acSaveYes
    End If
Next j
End Function

Usuário Marcos:

Era isso mesmo, nada como o conhecimento.

Obrigado por mais essa grande ajuda.

Abraço!


 

 


Não há comentário

Envie seu comentário: