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


2 participantes

    [Resolvido]Onde colocar código numa macro?

    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido]Onde colocar código numa macro? Empty [Resolvido]Onde colocar código numa macro?

    Mensagem  Ad-minister 29/1/2017, 23:03

    Quero usar este código para guardar um recibo em pdf.

    Já tenho a visualização do recibo criada.
    É chamado por uma macro que também filtra o nr do recibo - mostra-me só o nrº do recibo que acabei de criar.

    Encontrei este código do amigo controls aqui (imprimir-e-salvar...)  mas não sei como incluí-lo na macro...

    Encontrei na Estrutura da macro a ação ExecutarCódigo, mas não sei onde colocar o código e como chamá-lo...!

    Alterei:
    Nome do meu relatório= Recibo_Relatório
    Nome do campo Id do relatório= RecTId  - filtrado pela macro com DefinirVarTemp

    CÓDIGO

    Dim strArquivo As String
    Dim strLocal As String

    strArquivo = "Recibo" & Me!RecTId & ".pdf"
    strLocal = CurrentProject.Path & "\recibos\" & strArquivo

    'Abre o relatório devidamente filtrado e oculto
    DoCmd.OpenReport "Recibo_Relatório", acViewPreview, , "RecTId=" & Me! RecTId, acHidden

    'Gera arquivo pdf do relatório previamente aberto e filtrado.
    DoCmd.OutputTo acOutputReport, "Recibo_Relatório", acFormatPDF, strLocal

    'Abre o relatório
    DoCmd.OpenReport "Recibo_Relatório", acViewPreview


    Última edição por Ad-minister em 2/2/2017, 10:26, editado 1 vez(es)
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Onde colocar código numa macro? Empty Re: [Resolvido]Onde colocar código numa macro?

    Mensagem  FabioPaes 30/1/2017, 01:04

    Amigom esse codigo e para o Visual Basic. Com macro nao dara certo.

    Na propriedade desse botao, no evento ao clicar mude de Macro para Procedimento de Eneto.
    Entao clique nos tres pontinhos do lado, e coloque o codigo que descreveu...

    Deve alterar o campo filtrado bem como o nome de seu relatorio... Altere para sua realidade.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido]Onde colocar código numa macro? Empty Re: [Resolvido]Onde colocar código numa macro?

    Mensagem  Ad-minister 30/1/2017, 12:17

    FabioPaes obrigado.

    Sou quase zero a VB, mas com paciência, algum trabalho consegui resolver. Está a funcionar, mas haverá alguma coisa a corrigir?

    Converti a minha macro incorporada em código e incorporei o código do controls.

    Tive de lhe retirar a TempVars que vinha da macro, e ficou assim:

    Private Sub Ativar_desativar251_Click()
    With CodeContextObject

       ’(veio do maximoaccess ,user controls "imprimir-e-salvar"...
       Dim strArquivo As String
       Dim strLocal As String
       
       ’define nome do arquivo: Me=form aberto "ReciboComposição"; campo nr do recibo "RecTId"; campo nome da entidade abrev. "TbEntAbv"
       strArquivo = "Recibo" & Me!RecTId & Me!TbEntAbv & ".pdf"
       ’aponta para a pasta do ficheiro pdf a criar onde está a bd.
       strLocal = CurrentProject.Path & "\recibos\" & strArquivo

           ’Atualiza os registos depois de clicar o botão "SEL" sim/não (veio da minha macro...
           DoCmd.RunCommand acCmdSaveRecord
           DoCmd.OpenQuery "Recibos_atualizaFluxoRec", acViewNormal, acReadOnly
           
           ’Abre o relatório devidamente filtrado e oculto (veio do maximoaccess ,user controls "imprimir-e-salvar"...
           DoCmd.OpenReport "Recibo_Relatório", acViewPreview, , "RecTId=" & Me!RecTId, acHidden

           ’Gera arquivo pdf do relatório previamente aberto e filtrado (veio do maximoaccess ,user controls "imprimir-e-salvar"...
           DoCmd.OutputTo acOutputReport, "Recibo_Relatório", acFormatPDF, strLocal
           
           ’Fecha o form Recibos Composição (retirei da terceira linha, veio da minha macro...)
           DoCmd.RunCommand acCmdClose

           ’Abre o relatório (veio do maximoaccess ,user controls "imprimir-e-salvar"...
           DoCmd.OpenReport "Recibo_Relatório", acViewPreview

       End With
    End Sub
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Onde colocar código numa macro? Empty Re: [Resolvido]Onde colocar código numa macro?

    Mensagem  FabioPaes 30/1/2017, 23:18

    Um caso a se testar amigo, mas se vc ira visualizar o relatorio, pode ja abrir ele visivel...

    DoCmd.OpenReport "Recibo_Relatório", acViewPreview, , "RecTId=" & Me!RecTId, acHidden


    E então o usuario mesmo fechar...

    Remova o item destacado, e essas linhas:

    DoCmd.RunCommand acCmdClose
    DoCmd.OpenReport "Recibo_Relatório", acViewPreview



    Faça um teste!



    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Ad-minister
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 73
    Registrado : 18/04/2014

    [Resolvido]Onde colocar código numa macro? Empty Re: [Resolvido]Onde colocar código numa macro?

    Mensagem  Ad-minister 31/1/2017, 00:28

    Parece que não me traz alguma vantagem.

    O Relatório passa a ficar aberto numa aba inativa, e para o ver tenho de selecionar a aba...

    Vou manter sem alterar.

    Obrigado Fabio-
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Onde colocar código numa macro? Empty Re: [Resolvido]Onde colocar código numa macro?

    Mensagem  FabioPaes 31/1/2017, 00:32

    Tranquilo! Grato pelo retorno e até a próxima se Deus quiser!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido]Onde colocar código numa macro? Empty Re: [Resolvido]Onde colocar código numa macro?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/5/2024, 01:53