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]Criar PDF de dois relatórios no mesmo comando.

    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  Assis em 7/2/2020, 00:42

    Boa noite Amigos

    Tenho o código abaixo para ver um relatório e criar um PDF do mesmo relatório.

    Mas com o mesmo comando estou a tentar abrir 2 relatórios e criar os mesmos 2 relatórios em PDF

    Consigo abrir os 2 relatórios, mas só sonsigo criar 1 PDF.

    Acontece que só consigo o PDF de um dos relatórios, que é o relatório "Requisição", o outro relatório "FotoReq2" não consigo.  

    Eis o código:

    Obrigado

    Código:
    '-------------------------------------------
    If IsNull(Me.txtFornecedor) Or IsNull(Me.Cod) Then Exit Sub
    If MsgBox("Deseja Imprimir a Requisição Nº " & NumPedido & "?", vbQuestion + vbYesNo, "Atenção") = vbYes Then
     

       DoCmd.OpenReport "Requisição", acPreview, , "numpedido = " & Me!txtNumPedido
       DoCmd.OpenReport "FotoReq2", acPreview, , "numpedido = " & Me!txtNumPedido
       
    If MsgBox("Criar Documento em P. D. F. ? ", vbYesNo, "P. D. F.") = vbYes Then
    Dim Caminho As String
    Caminho = BackEndPath & "\PDF\"
    Dim strArquivo As String
    Dim strLocal As String
    strArquivo = "Requisição Nº " & Format(txtNumPedido, "000") & " a " & Fornecedor & "" & " - " & Format$(DataEmissao, "dd-mm-yyyy")
    strLocal = Caminho & strArquivo & ".pdf"

    If Len(Dir(strLocal)) > 0 Then
    MsgBox "Esta Requisição Já Existe em PDF, e Vai Ser Substituido ", vbInformation, "Aviso"

    DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal

    Else

    DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal

    MsgBox "PDF Criado Com Sucesso ", vbInformation, "Aviso"
    End If
    On Error Resume Next
    If err = 2501 Then
    err.Clear
    DoCmd.Close
    Me.txtFornecedor.SetFocus
    End If
    End If
    Else

    Me.txtFornecedor.SetFocus
    End If


    .................................................................................
    *** Só sei que nada sei ***
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7783
    Registrado : 05/11/2009

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  Alexandre Neves em 7/2/2020, 09:25

    Bom dia, Assis
    Será isto

    Código:
    '-------------------------------------------
    If IsNull(Me.txtFornecedor) Or IsNull(Me.Cod) Then Exit Sub
    If MsgBox("Deseja Imprimir a Requisição Nº " & NumPedido & "?", vbQuestion + vbYesNo, "Atenção") = vbYes Then
     

      DoCmd.OpenReport "Requisição", acPreview, , "numpedido = " & Me!txtNumPedido
      DoCmd.OpenReport "FotoReq2", acPreview, , "numpedido = " & Me!txtNumPedido
     
    If MsgBox("Criar Documento em P. D. F. ? ", vbYesNo, "P. D. F.") = vbYes Then
    Dim Caminho As String
    Caminho = BackEndPath & "\PDF\"
    Dim strArquivo As String
    Dim strLocal As String
    strArquivo = "Requisição Nº " & Format(txtNumPedido, "000") & " a " & Fornecedor & "" & " - " & Format$(DataEmissao, "dd-mm-yyyy")
    strLocal = Caminho & strArquivo & ".pdf"

    If Len(Dir(strLocal)) > 0 Then
    MsgBox "Esta Requisição Já Existe em PDF, e Vai Ser Substituido ", vbInformation, "Aviso"

    DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal
    DoCmd.OutputTo acOutputReport, "FotoReq2", acFormatPDF, strLocal

    Else

    DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal
    DoCmd.OutputTo acOutputReport, "FotoReq2", acFormatPDF, strLocal

    MsgBox "PDF Criado Com Sucesso ", vbInformation, "Aviso"
    End If
    On Error Resume Next
    If err = 2501 Then
    err.Clear
    DoCmd.Close
    Me.txtFornecedor.SetFocus
    End If
    End If
    Else

    Me.txtFornecedor.SetFocus
    End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  Assis em 7/2/2020, 10:11

    Bom dia Alexandre

    Já tinha tentado esse caso só faz PDF do primeiro

    Código:
    DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal ´´´´´´´primeiro
    DoCmd.OutputTo acOutputReport, "FotoReq2", acFormatPDF, strLocal

    E se inverter a ordem, faz do primeiro

    Código:
    DoCmd.OutputTo acOutputReport, "FotoReq2", acFormatPDF, strLocal '''''''''''''primeiro
    DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  Assis em 7/2/2020, 11:13

    Bom dia

    Eis a solução para 2 relatórios e dois PDF(s)
    Código:
    If IsNull(Me.txtFornecedor) Or IsNull(Me.Cod) Then Exit Sub
       If MsgBox("Deseja Imprimir a Requisição Nº " & NumPedido & "?", vbQuestion + vbYesNo, "Atenção") = vbYes Then
     
       DoCmd.OpenReport "Requisição", acPreview, , "numpedido = " & Me!txtNumPedido
       
    If MsgBox("Criar P. D. F. da Requisição ? ", vbYesNo, "P. D. F.") = vbYes Then
      Dim Caminho As String
            Caminho = BackEndPath & "\PDF\"
      Dim strArquivo As String
      Dim strLocal As String
              strArquivo = "Requisição Nº " & Format(txtNumPedido, "000") & " a " & Fornecedor & "" & " - " & Format$(DataEmissao, "dd-mm-yyyy")
                    strLocal = Caminho & strArquivo & ".pdf"
    '-----------------------
     
      DoCmd.OpenReport "FotoReq2", acPreview, , "numpedido = " & Me!txtNumPedido
       
    If MsgBox("Criar P. D. F. da(s) Ficha Técnica ? ", vbYesNo, "P. D. F.") = vbYes Then
      Dim Caminho2 As String
         Caminho2 = BackEndPath & "\PDF\"
      Dim strArquivo2 As String
      Dim strLocal2 As String
    strArquivo2 = "Ficha Técnica da Requisição Nº " & Format(txtNumPedido, "000") & " a " & Fornecedor & "" & " - " & Format$(DataEmissao, "dd-mm-yyyy")
          strLocal2 = Caminho2 & strArquivo2 & ".pdf"
    '-------------

    If Len(Dir(strLocal)) > 0 Then
            MsgBox "Esta Requisição Já Existe em PDF, e Vai Ser Substituido ", vbInformation, "Aviso"
                DoCmd.OutputTo acOutputReport, "FotoReq2", acFormatPDF, strLocal2
                   DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal

    Else
                DoCmd.OutputTo acOutputReport, "FotoReq2", acFormatPDF, strLocal2
                   DoCmd.OutputTo acOutputReport, "Requisição", acFormatPDF, strLocal

          MsgBox "PDF Criado Com Sucesso ", vbInformation, "Aviso"
    End If
      On Error Resume Next
         If err = 2501 Then
            err.Clear
       DoCmd.Close
    Me.txtFornecedor.SetFocus
               End If
         End If
    End If
    Else

       Me.txtFornecedor.SetFocus
    End If


    Última edição por Assis em 10/2/2020, 10:59, editado 1 vez(es)


    .................................................................................
    *** Só sei que nada sei ***
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  Assis em 8/2/2020, 00:47

    Boa noite

    Dei o tópico como "Resolvido", mas precisava de uma ajuda para melhorar este código, ou mesmo de o dividir em dois comandos.

    Um comando para imprimir os dois relatório, e outro comando para criar os PDF dos 2 relatórios.

    Obrigado




    .................................................................................
    *** Só sei que nada sei ***
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  ahteixeira em 10/2/2020, 12:33

    Olá a todos,

    Assis, crie então um botão com o seguinte código e teste:
    Reabri o tópico, quando resolver deve fechar.

    Código:
    DoCmd.OpenReport "Requisição", acViewNormal
    DoCmd.OpenReport "FotoReq2", acViewNormal

    Abraço
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  Assis em 10/2/2020, 12:48

    Obrigado Teixeira

    O botão dos 2 relatórios resolvi assim, para imprimir directo sem abrir

    Código:
    DoCmd.OpenReport "Requisição", acNormal, , "numpedido = " & Me!txtNumPedido
    DoCmd.OpenReport "FotoReq2", acNormal, , "numpedido = " & Me!txtNumPedido

    Falta os PDF

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  ahteixeira em 10/2/2020, 14:03

    Olá Assis,

    Na mensagem nº 4 diz que resolveu com o código que partilhou Very Happy

    Se pretende ter apenas um botão com mais um IF no código, pode fazer algo assim:
    [Resolvido]Criar PDF de dois relatórios no mesmo comando. 0107

    Abraço
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  Assis em 11/2/2020, 10:41

    Bom dia Teixeira

    Boa ideia

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Criar PDF de dois relatórios no mesmo comando. Empty Re: [Resolvido]Criar PDF de dois relatórios no mesmo comando.

    Mensagem  ahteixeira em 11/2/2020, 12:45

    cheers

      Data/hora atual: 5/12/2020, 15:16