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


3 participantes

    Desabilitar macro antes de fechar formulario

    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 12:58

    Pessoal,

    O meu formulario principal possui uma macro que encerra o aplicativo no evento "ao fechar".
    Então, fiz uma rotina, em um formulario secundario, que gera relatórios em PDF e percebi que se o formulario principal estiver aberto, ela não roda completamente (não sei por quê...)
    Portanto, antes de comandar a geração de PDFs no formulario secundario, preciso fechar o formulario principal desabilitando a macro que fecha o aplicativo.

    alguém sabe como faz?

    thanks


    Leandro
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  Assis 13/7/2015, 13:16

    Bo tarde

    Click aqui

    Para ver se ajuda


    .................................................................................
    *** Só sei que nada sei ***
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 13:48

    Bom dia Assis,

    Teria como postar diferente? pela política da minha empresa, não consigo acessar o link que vc postou ...

    agradeço desde já

    Leandro
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  Assis 13/7/2015, 14:02

    Não Leandro
    É uma pagina da net para consultas.


    .................................................................................
    *** Só sei que nada sei ***
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 14:07

    é, eu vi, mas está em inglês e via google translate não abre.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  JPaulo 13/7/2015, 14:26

    Não entendi direito;

    Pode colar aqui todo o trecho de gerar esses PDF`s ?


    .................................................................................
    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

    Desabilitar macro antes de fechar formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Desabilitar macro antes de fechar formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    Desabilitar macro antes de fechar formulario Folder_announce_new Instruções SQL como utilizar...
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 15:08

    bom dia JPaulo,

    Olha, o código é tão grande que não sei se vai te ajudar. ele está como módulo mas acho que vc já o conhece: é o do Stephen Lebans...

    Para gerar os PDF tenho que abrir um form secundario. Ao gerar os relatórios (PDFs), com o form principal aberto, a rotina finaliza mas o access fica processando sei lá o quê e não sai disso (o ponteiro do mouse vira naquele círculo girando... girando... - parece que entra em loop) e tenho que forçar o encerramento do aplicativo.

    Quando eu rodo a rotina com o form principal fechado, ela funciona perfeitamente.

    então, o meu problema reside em fechar o form principal durante a rotina de geração de PDFs sem encerrar o aplicativo, pois o form principal possui uma macro (necessária) que encerra o aplicativo no evento "ao fechar".

    Pensei que uma saída seria desabilitar a macro que fecha o aplicativo no inicio da rotina de geração de PDF...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  JPaulo 13/7/2015, 15:36

    Macros incorporadas duvido que consiga algo.

    Tem de existir qualquer problema na codificação abrir o segundo form;

    Cole aqui o comando que manda abrir o segundo form.


    .................................................................................
    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

    Desabilitar macro antes de fechar formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Desabilitar macro antes de fechar formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    Desabilitar macro antes de fechar formulario Folder_announce_new Instruções SQL como utilizar...
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 15:45

    Private Sub Comando70_Click()
    On Error GoTo Err_Comando70_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "RELATORIOS"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_Comando70_Click:
    Exit Sub

    Err_Comando70_Click:
    MsgBox Err.Description
    Resume Exit_Comando70_Click

    End Sub
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 15:54

    JPaulo, desconfio que vc não entendeu o meu problema...

    Vou tentar resumir pq já estou ficando perdido...

    tenho dois forms: FormA e FormB.

    Quando inicio o aplicativo, abre o FormA.
    No FormA tem um botao de comando que abre o FormB (e o FormA fica aberto em segundo plano)
    No FormB tem um botao que imprime os relatorios em PDF, porém, essa rotina entra em loop infinito.
    Se eu fecho o FormA e repito a operacao (somente o FormB está aberto), tudo funciona perfeitamente.

    Penso que uma solução seja conseguir fechar o FormA (que possui uma macro que fecha o aplicativo no evento "ao fechar") sem que ela (a macro do evento ao fechar do FormA) seja executada, pois preciso gerar os relatorios no FormB...

    Em todas as outras situações a macro do FormA que encerra o aplicativo deve funcionar...

    P.S. Entendo que o problema original está em alguma rotina que está sendo afetada pelo FormA, mas como ele possui algumaas listas e subformularios, fico até com medo de pensar nessa solução...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  JPaulo 13/7/2015, 16:02

    Entendi direito sim;

    Nunca nenhuma rotina entrou em Loop devido a um outro form estar aberto.

    Faça o seguinte, envie o seu banco em .zip para o meu email e posto aqui o problema.

    jpaulo65@gmail.com




    .................................................................................
    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

    Desabilitar macro antes de fechar formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Desabilitar macro antes de fechar formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    Desabilitar macro antes de fechar formulario Folder_announce_new Instruções SQL como utilizar...
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 16:22

    Ok JPaulo,

    Infelizmente não posso disponibilizar o BD...

    Se vc diz que isso não ocorre, então eu estou no caminho errado. Verei se descubro algo mais... mas após sua última resposta, fiquei pensando em fornecer algumas informações que talvez sejam relevantes:

    1ª - Estou utilizando o access 2003 com o Windows8;
    2ª - Segue abaixo o código do botao de comando que gera os relatorios:

    Private Sub Comando39_Click()
    Dim index As Integer

    blRet = ConvertReportToPDF("MUNICIPIO_A", vbNullString, _
    "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_A.pdf", False, False, 0, "", "", 0, 0)
    blRet = ConvertReportToPDF("MUNICIPIO_B", vbNullString, _
    "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_B.pdf", False, False, 0, "", "", 0, 0)

    If Idx <> 1 Then index = MsgBox("Relatórios Gerados com Sucesso!", vbOKOnly)

    End Sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  JPaulo 13/7/2015, 16:32

    Putzzzz, que grande salada;

    Você diz que  index é Integer, ou seja numerico, e envia texto em mensagem ???

    O que faz o "Idx" ?

    Mostre por favor toda a instrução, não pode ser só assim.

    Eu conheço esse código do Lebans e deve ser qualquer coisa assim;

    Código:
    Dim blRet1 As Boolean
    Dim blRet2 As Boolean

        blRet1 = ConvertReportToPDF("MUNICIPIO_A", vbNullString, _
        "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_A" & ".pdf", False, True, 0, "", "", 0, 0)
        
            DoEvents
        
        blRet2 = ConvertReportToPDF("MUNICIPIO_B", vbNullString, _
        "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_B" & ".pdf", False, True, 0, "", "", 0, 0)


    .................................................................................
    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

    Desabilitar macro antes de fechar formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Desabilitar macro antes de fechar formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    Desabilitar macro antes de fechar formulario Folder_announce_new Instruções SQL como utilizar...
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 16:50


    sei lá o que faz o idx... hehehe
    não consegui traduzir essas linhas... só joguei no codigo, funcionou e pra mim tava bom...

    vou testar o teu codigo. se não funcionar, volto a te incomodar ainda hoje

    Embarassed Embarassed
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  JPaulo 13/7/2015, 16:55

    http://www.lebans.com/reporttopdf.htm



    .................................................................................
    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

    Desabilitar macro antes de fechar formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Desabilitar macro antes de fechar formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    Desabilitar macro antes de fechar formulario Folder_announce_new Instruções SQL como utilizar...
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 13/7/2015, 17:03

    JPaulo,

    Parece que funcionou...
    uma dúvida:

    eu citei apenas dois municípios mas na verdade são mais...

    tenho que utilizar uma declaração Dim para cada um? e aquele Doevents no meio dos dois, como ficaria? ou posso copiar e colar os demais logo após o código do segundo município?

    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  JPaulo 13/7/2015, 17:13

    Sim, é conveniente declarar em separado, porque todas as variaveis vão chamar a mesma função, então tem de dar-lhe prioridade a uma de cada vez;

    Exemplo:
    Código:

    Dim blRet1 As Boolean
    Dim blRet2 As Boolean
    Dim blRet3 As Boolean
    Dim blRet4 As Boolean
    Dim blRet5 As Boolean


        blRet1 = ConvertReportToPDF("MUNICIPIO_A", vbNullString, _
        "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_A" & ".pdf", False, True, 0, "", "", 0, 0)
        
            DoEvents
        
        blRet2 = ConvertReportToPDF("MUNICIPIO_B", vbNullString, _
        "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_B" & ".pdf", False, True, 0, "", "", 0, 0)

           DoEvents

        blRet3 = ConvertReportToPDF("MUNICIPIO_C", vbNullString, _
        "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_C" & ".pdf", False, True, 0, "", "", 0, 0)

           DoEvents

        blRet4 = ConvertReportToPDF("MUNICIPIO_D", vbNullString, _
        "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_D" & ".pdf", False, True, 0, "", "", 0, 0)

           DoEvents

        blRet5 = ConvertReportToPDF("MUNICIPIO_E", vbNullString, _
        "\\SERVIDOR\arquivos\relatorios\MUNICIPIO_E" & ".pdf", False, True, 0, "", "", 0, 0)



    .................................................................................
    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

    Desabilitar macro antes de fechar formulario Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Desabilitar macro antes de fechar formulario Folder_announce_new 102 Códigos VBA Gratuitos...
    Desabilitar macro antes de fechar formulario Folder_announce_new Instruções SQL como utilizar...
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 14/7/2015, 14:57

    Valeu JPaulo,

    tú es o cara!

    abraços e obrigado mais um vez

    Leandro
    L34NDR0
    L34NDR0
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 353
    Registrado : 29/03/2011

    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  L34NDR0 20/7/2015, 13:07

    Bom dia JPaulo,

    Olha só, a geração dos dos relatórios trava quando não há dados para o relatório. Tem como gerar um relatório "em branco"?

    thanks

    Leandro

    Conteúdo patrocinado


    Desabilitar macro antes de fechar formulario Empty Re: Desabilitar macro antes de fechar formulario

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:59