MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Arquivo PDF separado

    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 16/5/2020, 20:19

    Boa tarde,

    Tenho uma tabela com centenas de códigos de centros de controle, com os quais, após junção com uma outra tabela de movimentação, preciso gerar em pdf um arquivo para cada centro de controle.

    Hoje fazemos isso manualmente centro de custo a centro de controle. Seleciona o centro de custo e salva. Isso é feito repetidas vezes para 872 centros de controle.

    E possível automatizar de modo, gerando todos os centros de controle de uma so vez, o sistema salvar um centro de custo por arquivo pdf?

    A titulo de informação fiz agora pouco a geração consolidada de todos os centros de controle em um único arquivo pdf com 1847 paginas. Este esta perfeito e guardo como arquivo.

    Agradeço antecipadamente a ajuda que receber.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2137
    Registrado : 22/11/2016

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  DamascenoJr. em 16/5/2020, 21:37

    Anexe exemplos, mesmo que com dados fictícios, para aumentar as chances de participações no tópico. Assim, soluções mais precisas podem ser mostradas.


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 17/5/2020, 04:12

    Exemplo da tabela de centro de controle

    01
    01.001
    01.002
    01.003
    02
    02.001
    02.003
    05
    05.001
    05.002
    05.003
    05.003.001
    10
    10.001
    10.002
    ...
    78
    78.001
    78.002
    78.xxx.xxx
    etc

    Para cada código acima o sistema deve gerar um pdf separado como titulo sendo o próprio código.
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 26/5/2020, 13:26

    Bom dia,
    Alguma sugestão pessoal?
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6828
    Registrado : 15/03/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  ahteixeira em 26/5/2020, 15:00

    Olá a todos,

    Lucio, o colega Damasceno pediu para disponibilizar base de dados (com dados de amostragem) da parte envolvida na questão do que já tem para se poder analisar.
    Deverá dar exempo com base nos dados como ficaria a listagem, será suficiente dois ou três centros de custos.

    Abraço a todos
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 27/5/2020, 03:29

    Boa Noite,

    Segue arquivo exemplo, com um relatório a ser gerado de duas formas:

    PDF Único - Consolidado de todos os centros de custos de uma so vez, mas com quebra de pagina a cada novo centro de custo. Este esta OK.

    PDF em arquivos separados por c.custo - Este não consegui ainda fazer.
    O titulo deverá ser o c.custo + AnoMes
    O local a ser salvo deverá ser um diretório aberto no momento de salvar

    Agradeço antecipadamente a ajuda.
    Anexos
    [Resolvido]Arquivo PDF separado AttachmentLancamentosPorCCusto.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (32 Kb) Baixado 4 vez(es)
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 27/5/2020, 11:15

    Bom dia,

    Fiz alguns ajustes no arquivo modelo que enviei ontem. Por isso envio o novo aqui.

    Em consulta ontem parace que DoCmd.OutputTo pode ajudar a resolver o problema.

    Então tem:
    uma consulta para ser base para o relatorio.
    um consulta, com base na anterior, para listar somente os centros de custos que deverão ser salvos individualmente
    um formulário para digitar o parametro de datas e tres botões para executar a ação de gerar o relatorio em tela e tambem para salvar em pdf.

    Obs: Dois dos botões ainda não funcionam.


    Codigos em teste
    CODIGO 1 para um dos botões de comando

    [/color]
    Código:
    Private Sub Comando1_Click()
    'Public Sub ExportFilteredReportToPDF()
    Dim reportName As String
    Dim fileName As String
    Dim critérios As String

    If IsNull(Me.DataInicial) Then
    MsgBox "Insira uma data inicial", vbInformation, "Sistema X"
    Me.DataInicial.SetFocus

    ElseIf IsNull(Me.DataFinal) Then
    MsgBox "Insira uma data Final", vbInformation, "Sistema X"
    Me.DataFinal.SetFocus

    Else

    reportName = "rptYourReportName"
    fileName = "C: \ tmp \ report_export_file.pdf"
    critérios = "SomeTextField = 'ABC' AND SomeNumberField = 123"

    DoCmd.OpenReport reportName, acViewPreview, , critérios, acHidden

    DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, fileName
    DoCmd.Close acReport, reportName, acSaveNo
    'DoCmd.OpenReport "Rel_Lanctos_PorCCusto_QP", acViewPreview, , , acDialog

    End If

    End Sub


    CODIGO 2 para outro botão de comando
    Código:
    Private Sub Comando2_Click()

    Dim strtable As String
    Dim strexportfile As String
    Dim strdelimiter As String
    Dim blnheader As Boolean
    Dim fld As Field
    Dim VarData As Variant
    Dim infFileNum As Integer
    Dim mdb As Database
    Dim ct As Integer
    Dim TamNome As Integer
    Dim rs As Recordset
    Dim ListagemCCusto As Recordset
    Dim CriterioCCusto As String
      
      
    If IsNull(Me.DataInicial) Then
    MsgBox "Insira uma data inicial", vbInformation, "Sistema X"
    Me.DataInicial.SetFocus

    ElseIf IsNull(Me.DataFinal) Then
    MsgBox "Insira uma data Final", vbInformation, "Sistema X"
    Me.DataFinal.SetFocus

      
       CriterioCCusto = ""
          Set mdb = CurrentDb()
       strdelimiter = Chr(13)
      
       ' listagem de centro de custos para o codigo correr linha a linha na consulta, obter o parametro para consulta e utiliza-lo no nome do arquivo a ser salvo
       Set ListagemCCusto = mdb.OpenRecordset("ListagemCCusto", dbOpenSnapshot)
      
      
       Set rs = CurrentDb.OpenRecordset("LanctosCCustoCBListaCentroCusto")
       strexportfile = "C:\Relatorio"
      
       infFileNum = FreeFile()
      ' Open strexportfile For Output As #infFileNum
      
       ct = 1
      ' Print #infFileNum, VarData
      
       Do While Not rs.EOF
       'CriterioCCusto = ListagemCCusto ' ESTA RETORNANDO INCOMPATIVEL
       ct = ct + 1
      
    'Docmd.OutputTo(acOutputReport,"Rel_Lanctos_PorCCusto_QP",,,,,,acExportQualityScreen)
    'DoCmd.OutputTo(acOutputReport,"Rel_Lanctos_PorCCusto_QP",acformatpdf,

    Print #infFileNum, VarData
     
     rs.MoveNext


    Loop
      
       Close #infFileNum
       rs.Close
       Set rs = Nothing

    End If

    End Sub

    Antecipadamente grato.
    Anexos
    [Resolvido]Arquivo PDF separado AttachmentLancamentosPorCCusto 27052020.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (74 Kb) Baixado 2 vez(es)
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6828
    Registrado : 15/03/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  ahteixeira em 27/5/2020, 11:33

    Olá Lucio,

    No título do tópico só se escreve na mensagem numero 1, depois o fórum repete automaticamente.
    Não se deve colocar outros titulos, pois tem interferencia com a "busca" do fórum.

    Assim que poder vou verificar o exemplo que partilhou, possivelmente vou utilizar o mais simples para demonstrar o que pretende fazer.

    Abraço
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6828
    Registrado : 15/03/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  ahteixeira em 27/5/2020, 15:23

    Olá a todos,

    Lucio, para o efeito apliquei o exemplo que já cá está desde 2011, veja:
    https://www.maximoaccess.com/t5403-resolvidogerar-varios-pdfs-de-um-unico-relatorio

    O código ficou assim:
    Código:
    Private Sub Comando2_Click()
        If IsNull(Me.DataInicial) Then
            MsgBox "Insira uma data inicial", vbInformation, "Sistema X"
            Me.DataInicial.SetFocus
        ElseIf IsNull(Me.DataFinal) Then
            MsgBox "Insira uma data Final", vbInformation, "Sistema X"
            Me.DataFinal.SetFocus
        Else
            'parte criar PDF por Centro Custo
            Dim rs As Recordset
            Set rs = CurrentDb.OpenRecordset("q_custos")
            
            Do While Not rs.EOF
                DoCmd.OpenReport "Rel_Lanctos_PorCCusto_QP_CentroCusto", acViewPreview, , "LanCCusto='" & rs!LanCCusto & "'", acHidden
                DoCmd.OutputTo acOutputReport, "Rel_Lanctos_PorCCusto_QP_CentroCusto", "PDFFormat(*.pdf)", Me.txtCaminho & "\" & rs!LanCCusto & "_" & Me.DataInicial & "_" & Me.DataFinal & ".pdf", False, "", 0, acExportQualityPrint
                DoCmd.Close acReport, "Rel_Lanctos_PorCCusto_QP_CentroCusto"
                rs.MoveNext
            Loop
            
            rs.Close
            Set rs = Nothing
        End If
    End Sub

    Também adicionei a possibilidade de ver apenas um centro de custo escolhido.
    Segue o meu teste.

    Abraço e bons estudos
    Anexos
    [Resolvido]Arquivo PDF separado AttachmentGerarPDFporCCusto.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (42 Kb) Baixado 11 vez(es)
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 27/5/2020, 17:17

    Ola Alvaro.
    Obrigado pela ajuda.
    Baixei aqui e executei o ultimo dos botões... veja a mensagem que apareceu

    Erro em tempo de execução '2501':
    A ação OutputTo foi cancelada

    Parecer ser algo nesta linha de codigo.

    DoCmd.OutputTo acOutputReport, "Rel_Lanctos_PorCCusto_QP_CentroCusto", "PDFFormat(*.pdf)", Me.txtCaminho & "\" & rs!LanCCusto & "_" & Me.DataInicial & "_" & Me.DataFinal & ".pdf", False, "", 0, acExportQualityPrint

    tentei alguns ajustes não cheguei na solução do problema.
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6828
    Registrado : 15/03/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  ahteixeira em 27/5/2020, 19:25

    Olá,

    Estou no celular, foi efetuado em cima do joelho, mas acho que estava funcional.
    Que versão Access está a usar?

    Se algum colega poder baixar e testar.

    Abraço
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 27/5/2020, 22:39

    Ola
    Aqui uso o microsoft 2010



    fui eliminando cada argumento da linha abaixo e ver que o erro aparece somente no argumento do caminho.

    DoCmd.OutputTo acOutputReport, "Rel_Lanctos_PorCCusto_QP_CentroCusto", "PDFFormat(*.pdf)", Me.txtCaminho & "\" & rs!LanCCusto & _" & Me.DataInicial & "_" & Me.DataFinal & ".pdf", False, "", 0, acExportQualityPrint

    Quado retirei funcionou bem, so que sempre ele perguntando o diretorio a ser salvo

    DoCmd.OutputTo acOutputReport, "Rel_Lanctos_PorCCusto_QP_CentroCusto", "PDFFormat(*.pdf)", , False, "", 0, acExportQualityPrint

    Nao consegui ainda ver o porque. Alterei para "c:\temp" e mesmo assim apareceu o erro. Ta quase. Obrigado.
    avatar
    lucioapo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 44
    Registrado : 12/05/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  lucioapo em 28/5/2020, 00:55

    Amigos, consegui resolver,

    O problema era que no argumento do nome do arquivo estava concatenando a data de inicio e de termino. Como os dois campos tinha as barras, aparecia o erro, porque não da para ter nome de arquivo com a barra.

    Usei o format nas duas datas e ficou tudo 100%.

    Linha com o erro
    Código:
    'DoCmd.OutputTo acOutputReport, "Rel_Lanctos_PorCCusto_QP_CentroCusto", "PDFFormat(*.pdf)", Me.txtCaminho & "" & rs!LanCCusto & _" & Me.DataInicial & "_" & Me.DataFinal & ".pdf", False, "", 0, acExportQualityPrint

    Linha correta
    Código:
    DoCmd.OutputTo acOutputReport, "Rel_Lanctos_PorCCusto_QP_CentroCusto", "PDFFormat(*.pdf)", Me.txtCaminho & "\" & rs!LanCCusto & "_" & Format(Me.DataInicial, "ddmmyyyy") & "_" & Format(Me.DataFinal, "ddmmyyyy") & ".pdf", False, "", 0, acExportQualityPrint

    Valeu demais a ajuda. Caso totalmente resolvido.
    Eu sou Contador e me aventuro eventualmente no Access. Por isso tenho mais dificuldade.
    Sem vocês não teria conseguido.
    Muito feliz com ajuda aqui do grupo.
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6828
    Registrado : 15/03/2013

    [Resolvido]Arquivo PDF separado Empty Re: [Resolvido]Arquivo PDF separado

    Mensagem  ahteixeira em 28/5/2020, 09:20

    Olá a todos,

    Lucio, Fico feliz por ter ajudado, está esclarecido o erro.
    Obrigado pelo retorno e não se preocupe, está no MaximoAccess, vai ver que é sempre aprender Wink

    Abraço

      Data/hora atual: 14/8/2020, 01:48