MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


5 participantes

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Executar um evento de um formulário carregado através de outro formulário....

    Mensagem  Pablo Neruda 29/12/2010, 19:47

    Alguém ja efetuaou essa façanha e pode compartilhar conosco?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  criquio 29/12/2010, 20:03

    Detalha melhor por favor.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  Pablo Neruda 30/12/2010, 10:14

    Tenho 2 formulários abertos (digamos 1 e 2), quero através do 2 executar (call) o evento load() do 1....
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  criquio 30/12/2010, 10:58

    Não seria melhor botar o evento em um global module e chamá-lo nos dois forms?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  Pablo Neruda 30/12/2010, 11:23

    Ele é um procedimento particular de um dos formulários.... Que ao estar este segundo aberto o primeiro o reconhece e efetua outro tipo de processamento, se eu trabalhasse com consultas lincadas aos meus forms seria somente dar um requery, mas eu me utilizo somente do VBA...
    Estou utilizando a versão 2010, e um dos recursos que encontrei foi em um formulário efetuar o fechamento e a reabertura do outro dando o resultado esperado, porém com o incoveniente de digamos, piscar a tela.... (No W7 ficou até um efeito bonito...
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  criquio 30/12/2010, 12:25

    Esse seu formulário por acaso não tem cores fortes ou mistura de cores? Talvez seja isso que faça piscar.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  Pablo Neruda 30/12/2010, 12:53

    Não... qdo me refiro a piscar e abri e fecha, no W7 é até legal, pelo fade out e fade in que o SO proporciona.... Parece uma paginação...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  JPaulo 30/12/2010, 17:54

    Olhem o simples;

    Quando você cria um evento num form, ele por defeito fica em Private, altere esse evento para Public

    Antes:

    Private Sub Form_Load()
    DoCmd.Maximize
    End Sub


    Depois:

    Public Sub Form_Load()
    DoCmd.Maximize
    End Sub


    No segundo form, é só chamar esse evento assim, por exemplo no pressionar de um botão:

    Private Sub SeuBotao_Click()
    Forms("PrimeiroFormulario").Form_Load
    End Sub


    Nota:
    Não é necessario utilizar o Call ou o Forms!



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new Instruções SQL como utilizar...
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  criquio 30/12/2010, 18:02

    Isso JP. Eu quis falar algo assim mas me confundi e escrevi sobre módulos, por causa de Public Function nos módulos, hehehe.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  JPaulo 30/12/2010, 18:14

    Vivendo e aprendendo...

    Feliz Ano Novo jocolor


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new Instruções SQL como utilizar...
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  criquio 30/12/2010, 18:21

    Esse é o barato da vida. Ela é um eterno aprendizado para quem quer aprender Very Happy
    jocolor Feliz 2011 a todos jocolor


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    Pablo Neruda
    Pablo Neruda
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 344
    Registrado : 17/09/2010

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  Pablo Neruda 30/12/2010, 18:34

    Opa opa, sabia q tinha algo parecido.... Valeu mais uma vez pela dica....

    drunken Feliz Ano novo para todos!!!!....
    e lembre-se se beber não desenvolva, se não vai ter que rever os códigos todos depois!!!! rsrsrsr
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  JPaulo 30/12/2010, 22:55

    Valew pelo retorno, não esquecer do "Resolvido".


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  RneoX 25/7/2013, 17:20

    O Tópico é antigo, mas velho era isso que eu procurava, mas não sabia explicar como kkkkkkkkkkkkkkkk Coitado o Piloto que sofreu com minhas perguntas!


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    avatar
    alecmuller
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 03/12/2019

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Deu certo só que não

    Mensagem  alecmuller 30/3/2021, 21:55

    Boa tarde senhores,

    Segui o exemplo do grandíssimo JPaulo e funcionou perfeitamente em meu código.. ou quase.

    Tenho 3 formulários: frm_Continuidade_Ferias, frm_dt_Continuidade e frm_Portaria

    No 1º eu tenho algumas funções que criam algumas consultas e, depois, manda abrir o 3º form. No evento ao fechar do 3º há uma estrutura if para verificar se o form foi aberto através do 1º, e, se sim, manda executar o que está no evento ao carregar do 1º.

    Até aqui está funcionando perfeitamente e agradeço muito por ter dado o simples, mas importantíssimo, esclarecimento de que basta alterar a sub p/ public para fazer a mágica acontecer.

    O meu problema surgiu ao fazer o mesmo c/ o 2º form.
    Da mesma forma que o 1º, ele abre o form 3º e na estrutura if (a mesma que verifica se este foi aberto pelo 1º) há um comando p/ executar o que estiver no evento ao carregar do 2º form. O problema é que não está executando.
    Mesmo sabendo que não, pensei que talvez pudesse ser a estrutura if, então troquei por select case e continua na mesma situação.
    Troquei, então, de form_load p/ form_activate e fiz os devidos acertos no código do 2º form.
    Dessa forma até funciona, mas não devidamente. Aparece a mensagem de erro "erro de definição de aplicativo ou de definição de objeto". Se eu clico em depurar e fecho a janela de código de vba que abre, funciona, já se eu clico em fim, não funciona.

    Para ajudar a entender melhor a situação, segue os códigos abaixo:

    1º form:

    Código:
    Private Sub Cria_Exp_Port_Click()  'Botão no frm_Continuidade_Ferias
    Call qryCessaFerias
    Call InserePortaria
    End Sub
    Na função InserePortaria há uma parte em que define o campo Port_AbertoCont do frm_Portaria com o valor 1, que será usado na estrutura if/select case.

    Código:
    Public Sub Form_Load()

    'Verifica se está tudo pronto para exportar a portaria p/ word.
     If Me.Cont_Exportar = 1 Then
      Call ExpPortCessar
      Call qryCessaFerias_Excluir
      Call qryInserePortaria_Excluir
      Form!Cont_Exportar = 0
     End If
    End Sub
    Isto é o que é executado ao fechar o 3º form quando ele é aberto a partir do botão que está neste form (1º).


    2º form:

    Código:
    Private Sub Comando24_Click()
    Call qryPortCont
    Call InserePortaria
    End Sub
    Assim como no 1º form, abre o 3º e na função InserePortaria há o código p/ definir Port_AbertoCont do frm_Portaria com o valor 2. Isto funciona perfeitamente.

    Código:
    Public Sub Form_Load()
     If Me.dt_Cont_Exportar = 1 Then
      Call ExpPortCont
      Call qryPortCont_Excluir
      Form!dt_Cont_Exportar = 0
      Form!Texto25 = 123
     End If
    End Sub
    Esta é a parte que não está funcionando ao fechar o 3º form. Se eu troco por Activate, funciona, mas da forma que eu falei, com o erro de definição, então não da forma adequada.


    3º form:

    Código:
    Private Sub Form_Close()

    Dim vPort As Integer
    Dim AtualizaCont As String

    'Se o formulário foi aberto através do form de continuidade de férias, irá inserir a portaria no registro de continuidade
    'If Me.Port_AbertoCont = 1 Then
    ' vPort = DLast("Port_Cod", "Portaria")
    ' AtualizaCont = "UPDATE Continuidade_Ferias SET Cont_Port_Cessar = " & vPort & " WHERE Cont_Cod = " & Me.Port_Cod_Cont.Value
    ' Forms!frm_Continuidade_Ferias!Cont_Exportar = 1
    ' DoCmd.RunSQL AtualizaCont
    ' Forms!frm_Continuidade_Ferias.Refresh
    ' Forms(frm_Continuidade_Ferias).Form_Load
    'ElseIf Me.Port_AbertoCont = 2 Then 'neste caso, o form de portaria foi aberto através do dt_continuidade
    ' vPort = DLast("Port_Cod", "Portaria")
    ' AtualizaCont = "UPDATE dt_Continuidade_Ferias SET dt_Port_Continuidade = " & vPort & " WHERE dt_Cod = " & Me.Port_Cod_Cont.Value
    ' Forms!frm_dt_Continuidade!dt_Cont_Exportar = 1
    ' DoCmd.RunSQL AtualizaCont
    ' Forms!frm_dt_Continuidade.Refresh
    ' Forms(frm_dt_Continuidade).Form_Load
    'End If

    Select Case Me.Port_AbertoCont
        Case 1
            vPort = DLast("Port_Cod", "Portaria")
            AtualizaCont = "UPDATE Continuidade_Ferias SET Cont_Port_Cessar = " & vPort & " WHERE Cont_Cod = " & Me.Port_Cod_Cont.Value
            Forms!frm_Continuidade_Ferias!Cont_Exportar = 1
            DoCmd.RunSQL AtualizaCont
            Forms!frm_Continuidade_Ferias.Refresh
            Forms(frm_Continuidade_Ferias).Form_Load
        Case 2
            vPort = DLast("Port_Cod", "Portaria")
            AtualizaCont = "UPDATE dt_Continuidade_Ferias SET dt_Port_Continuidade = " & vPort & " WHERE dt_Cod = " & Me.Port_Cod_Cont.Value
            Forms!frm_dt_Continuidade!dt_Cont_Exportar = 1
            DoCmd.RunSQL AtualizaCont
            Forms!frm_dt_Continuidade.Refresh
            Forms(frm_dt_Continuidade).Form_Load
    End Select

    End Sub
    A estrutura if está comentada, mas faz o mesmo que a select case. Funciona pelo menos até a parte do DoCmd.RunSQL AtualizaCont pelo menos, pois é realizado normalmente o update no registro do form de origem, mas no caso de o form de origem ser o 2º, não funciona a última parte, de Forms(frm_dt_Continuidade).Form_Load. Até coloquei, como podem ver na última parte do Public Sub Form_Load, o campo texto25 p/ receber 123, apenas para verificar se estava sendo executado alguma coisa ou não, e realmente não está. Não aparece nenhuma mensagem de erro, simplesmente não funciona.

    Desde já, agradeço a ajuda dos senhores!

    avatar
    alecmuller
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 29
    Registrado : 03/12/2019

    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  alecmuller 5/4/2021, 15:43

    Sobre minha última mensagem, consegui resolver meu problema. A solução foi simples.

    No 3º form, dentro do "case 2", substituí "Forms(frm_dt_Continuidade).Form_Load" por "Call Form_frm_dt_Continuidade.Form_Load" e funcionou perfeitamente.

    Fica a dica para quem ver passar pelo mesmo que eu futuramente.

    Conteúdo patrocinado


    [Resolvido]Executar um evento de um formulário carregado através de outro formulário Empty Re: [Resolvido]Executar um evento de um formulário carregado através de outro formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 08:57