GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Problema ao ocultar forms para abrir relatorio
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Analista Sênior

postado
Boa tarde!!!
Tenho que abrir um relatório, que antes disso, ficam 03 forms abertos (janela retrita=sim, PopUp=Sim e Estilo da borda=diálogo), antes de abrir, oculto os 03 forms, e quando fecho o relatório, mande exibir novamente, só que perde-se o foco, vejam como fiz e se puder, me apontem o erro:
Abrir relatório
Private Sub btn_abre_recibo_Click()
        Form_frm_lanc_contrato_receita.Visible = False
        Form_frm_lanc_contrato.Visible = False
        Form_frm_pesq_lanc_contrato.Visible = False
        DoCmd.OpenReport "rel_recibo_locador", acViewPreview
End Sub


Ao fechar relatório
Private Sub Report_Close()
    NomeRel = ""

    'On Error GoTo erro
    'Form_frm_Menu.SetFocus
    'DoCmd.Maximize
    Form_frm_pesq_lanc_contrato.Visible = True
    Form_frm_lanc_contrato.Visible = True
    Form_frm_lanc_contrato_receita.Visible = True
    'erro:
End Sub

Access XP/2003
Att
Luciano
 
Postagens: 1569 | Registrado: 31 January 2001Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
OI Luciano,

Qual dos forms voce que ter o foco ?
Form_frm......... .setFocus

Espero ter ajudado
 
Postagens: 334 | Localização: RIO DE JANEIRO | Registrado: 28 November 2002Reply With QuoteReport This Post
Analista Sênior

postado Hide Post
Ola Josevam,
Já tentei isso tb, pois, pela lógica, seria isto (Form_frm_lanc_contrato_receita.setfocus), não é mesmo?
Só que não deu certo.
Luciano
 
Postagens: 1569 | Registrado: 31 January 2001Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
Luciano,

A Fechar o relatorio, fica os 3 forms ativos,
um sobre posto ao outro, acredito nesta ordem :
1º)Form_frm_pesq_lanc_contrato

2º)Form_frm_lanc_contrato, sobre o 1º,

3º)Form_frm_lanc_contrato_receita,sobre o 2º

Vc ja verificou se e verdade ?
 
Postagens: 334 | Localização: RIO DE JANEIRO | Registrado: 28 November 2002Reply With QuoteReport This Post
Analista Sênior

postado Hide Post
Ola Josevam,
Não sei porque, mas da a impressao que algum deles se perde na hora de ficar visivel novamente, pois, o form que está "ativo" não consigo acessar nenhum controle dele, a impressão que dá é que tem algo acima dele.
Achei que era algum problema com o bd, ai criei um novo mdb, com 03 forms, com um botão de comando em cada (form_01, form_02 e form_03), criei um relatório (rel_01);
O form_01 abria o form_02 que abria o form_03, este ultimo abria rel_01 e ocultava todos os forms;
rel_01 ao fechar deifinia visivel=true todos os forms, e aconteceu o mesmo problema.
Alguma idéia?
Access 2003

Luciano
 
Postagens: 1569 | Registrado: 31 January 2001Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
Oi Luciano,
Ja tive um problema parecido com o seu,
o Prof. Avelino, me deu esta dica abaixo.
Tenta adaptar para voce.
Qualquer duvida, vamos tentar ajudar,

Um grande abraço


' Verificar se o 00 Form 001 esta aberto(carregado )
If CurrentProject.AllForms("00 Form 001").IsLoaded Then

ou

if syscmd(acSysCmdGetObjectState ,acForm,"NomeFormulário") = 1 then
'verdadeiro
else
'falso
end if
 
Postagens: 334 | Localização: RIO DE JANEIRO | Registrado: 28 November 2002Reply With QuoteReport This Post
Programador Pleno

Figura de  Anderson - AFM
postado Hide Post
Prezado Luciano, veja se dá para você adaptar:

'No formulário ao Clicar
Private Sub Visualizar_Click()
On Error GoTo Err_Visualizar_Click


Dim stDocName As String
Dim varItem, Par As String, Par3 As String, STR As String

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

If opt_Usuarios_Cad = 1 Then

Par = ""
If lst_Retorno.ItemsSelected.Count > 0 Then
For Each varItem In lst_Retorno.ItemsSelected
If Par = "" Then
Par = "(Prof_Codigo_Prof=" & lst_Retorno.ItemData(varItem)
Else
Par = Par & " or Prof_Codigo_Prof=" & lst_Retorno.ItemData(varItem)
End If
Next varItem
Par = Par & ")"
End If
'MsgBox Par
Me.Visible = False
stDocName = "rpt_Rel_Prof_Cad"
'DoCmd.Close acForm, "frm_Par_Usuario_Cad"
DoCmd.OpenReport stDocName, acNormal, , Par
DoCmd.RunCommand acCmdZoom75
Call sRemoveCaption(Reports!rpt_Rel_Prof_Cad)

End If
Exit_Imprimir_Click:
Exit Sub
Err_Imprimir_Click:
' MsgBox "ANÁLISE DE SISTEMA" _
'& "@Houve uma interrupção no procedimento." _
' & "@Relatório cancelado...", vbOKOnly + vbCritical, "Aviso ao Usuário: "
' DoCmd.CancelEvent
' DoCmd.CancelEvent
Resume Exit_Imprimir_Click

End Sub

'E ao fechar do Relatório
Private Sub Report_Close()
On Error Resume Next
'O Form ainda está aberto, está invisível.
Me.Visible = True
DoCmd.OpenForm "frm_Par_Prof_Cad"
End Sub

Feliz
 
Postagens: 296 | Localização: Tupaciguara - Minas Gerais | Registrado: 29 October 2002Reply With QuoteReport This Post
Analista Sênior

postado Hide Post
Boa tarde!!!
Josevam, ja havia tentado, e tentei novamente, mas nao deu certo.

Anderson, também não deu certo.

Por favor, se tiverem mais algo pra me ajudar, fic agradecido.

Att
Luciano
 
Postagens: 1569 | Registrado: 31 January 2001Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
ficam 03 forms abertos :
janela retrita=sim, PopUp=Sim e Estilo da borda=diálogo

Ja tentou assim :
janela retrita=Não, PopUp=Sim e Estilo da borda=Ajustável

Sugiro fechar o db e abrir de novo
 
Postagens: 334 | Localização: RIO DE JANEIRO | Registrado: 28 November 2002Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
Completando :
Estilo da borda=diálogo

Tem uma serie de efeitos colaterais ( Rs!)
 
Postagens: 334 | Localização: RIO DE JANEIRO | Registrado: 28 November 2002Reply With QuoteReport This Post
Analista Sênior

Figura de  Avelino Sampaio
postado Hide Post
Olá

Fiz um teste aqui e vou dar o meu parecer:

Posso tá dizendo uma besteira, mais o que eu entendi é que o access, nesta configuração, passa o "bastão", de um objeto para o outro. Quando vc torna os objetos invisíveis o access perde a referência a quem repassar o "bastão".

Pra desfazer isso tirei então esse "bastão" do Access com a propriedade MODAL

Private Sub Comando0_Click()
Forms!frm1.Modal = False
Forms!frm2.Modal = False
Forms!frm3.Modal = False
Forms!frm1.Visible = False
Forms!frm2.Visible = False
Forms!frm3.Visible = False
DoCmd.OpenReport "rlt1", acViewPreview
End Sub
  


Aí no timer de cada form eu vou alterando a propriedade MODAL

Private Sub Report_Close()
Forms!frm1.Visible = True
Forms!frm2.Visible = True
Forms!frm3.Visible = True
Forms!frm3.TimerInterval = 100 'aqui eu ativo o timer para alterar a propriedade modal do form
End Sub

No Timer de cada form:

Private Sub Form_Timer()
Me.Modal = True
Me.TimerInterval = 0
End Sub


Pegue o exemplo aqui

Bom, pode ter uma forma mais simples e direta e que tudo isso aí em cima seja um grande besteirol.

Agora, porque tornar os formulários invisíveis ????


No aguardo
...


www.usandoaccess.com.br
vídeo aulas, dicas e tutoriais
muita informação sobre Access 2007
 
Postagens: 1412 | Localização: Rio de Janeiro | Registrado: 06 September 2003Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
Grande Avelino,

Porque tornar os formulários invisíveis ?
Qdo voce abre um formulario e logo apos outro,
os comando do primeiro fica exposto, e pode-se
acionar os comandos do primeiro.
Por que se vc usar Estilo da borda=diálogo,
voce trava os demais, ao ser aberto.

Estive no help lendo sobre o modal.

Fala muito sobre janela resttrita...

No seu entender qual a função do modal ?

Foi muito bom suas explicações,
acredito que havera diversos testes apartir do seu besterol(??????).

Um grande abraço
 
Postagens: 334 | Localização: RIO DE JANEIRO | Registrado: 28 November 2002Reply With QuoteReport This Post
Analista Sênior

postado Hide Post
Bom dia!!!
Desculpem pela demora no retorno.
Em primeiro lugar, muito grato pela atenção de todos.
Avelino, funcionou como você fez, grato.
Quanto os forms invisiveis ao abrir o relatorio, vou explicar:
É um bd para imobiliaria, o locatario quando chega para pagar, o usuario abre o form de pesquisa de contratos (form_01), depois abre o contrato do locatario (form_02) e depois as parcelas a serem pagar, juntamente com os demais dados (vistorias, contas da casa, etc) esse é o form_03, depois disso (que ele recebeu o dinheiro) ele abre o relatorio para imprimir o recibo de aluguel.
Deu para entender o significado do "probrema".
Agora mais uma questão, porque ele se perde, pois, não entendi sua explicação.
Att
Luciano
 
Postagens: 1569 | Registrado: 31 January 2001Reply With QuoteReport This Post
Programador Sênior

postado Hide Post
Avelino,

Funcionou para mim também :

Porque tornar os formulários invisíveis ?
Qdo voce abre um formulario e logo apos outro,
os comando do primeiro fica exposto, e pode-se
acionar os comandos do primeiro.
Por que se vc usar Estilo da borda=diálogo,
voce trava os demais, ao ser aberto.

Ao usar o modal conforme vc especifica no exemplo, nada do que falei tem sentido.
Uma observação para todos :
No modo estrutura do(s) fomulario(s) deve estar
Janela Restrita = Sim
Estilo da borda=diálogo

Valeu Avelino, obrigado
 
Postagens: 334 | Localização: RIO DE JANEIRO | Registrado: 28 November 2002Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Problema ao ocultar forms para abrir relatorio

©