Generare report PDF e aprirlo

di il
12 risposte

Generare report PDF e aprirlo

Un altro quesito
ho un report generato in base a una condizione SQL
lo visualizzo in anteprima (acViewPreview)
genero un file pdf e lo apro con Hyperlink con il lettore predefinito
quello che vorrei fare e' non vedere l'anteprima se fosse possibile..
qualcuno ha qualche suggerimento?
Private Sub pulStampaRepo_Click()

Dim myNomePDF As String
Dim myNomeRepo As String
If Not IsNull(Me.txtTitoloReport.Value) Then
    myNomeRepo = Left(Me.txtTitoloReport.Value, 40)
Else
    myNomeRepo = "Elenco Anagrafiche"
End If
myNomePDF = DammiCartella() & "\PatentandiFile" & Sequencer() & ".PDF"
Me.txtTitoloReport = myNomeRepo
DoCmd.OpenReport "ReportAnagrafiche", acViewPreview, , PV_CondSQL
DoCmd.OutputTo acOutputReport, "ReportAnagrafiche", acFormatPDF, myNomePDF
MsgBox ("Generato file: " & myNomePDF)
Application.FollowHyperlink myNomePDF
End Sub

12 Risposte

  • Re: Generare report PDF e aprirlo

    Quel parametro acViewPreview cosa vuol dire...?
    Cosa dice la guida in merito al.comando OpenReport...? Ed i suoi parametri...?
  • Re: Generare report PDF e aprirlo

    Specifies an object's view.

    Table 1
    Name Value Description
    acViewDesign 1 Design view
    acViewLayout 6 Layout view
    acViewNormal 0 (Default) Normal view
    acViewPivotChart 4 PivotChart view
    acViewPivotTable 3 PivotTable view
    acViewPreview 2 Print Preview
    acViewReport 5 Report view
    si puo' generare il report senza vederlo? a me pare di no...
  • Re: Generare report PDF e aprirlo

    Cavolo la funzione ha 4 parametri in croce... leggili tutti almeno...
    WINDOWMODE non morde la guida e se fai 1mm in più non invecchi...

    https://docs.microsoft.com/en-us/office/vba/api/access.acwindowmode

    SI PUO FARE.
  • Re: Generare report PDF e aprirlo

    Imbarazzante...
    Grazie Alex
  • Re: Generare report PDF e aprirlo

    Riveduta e corretta
    Private Sub pulStampaRepo_Click()
    
    Dim myNomePDF As String
    Dim myNomeRepo As String
    Dim myMsg
    If Not IsNull(Me.txtTitoloReport.Value) Then
        myNomeRepo = Left(Me.txtTitoloReport.Value, 40)
    Else
        myNomeRepo = "Elenco Anagrafiche"
    End If
    Me.txtTitoloReport = myNomeRepo
    myNomePDF = DammiCartella() & "\PatentandiFile" & Sequencer() & ".PDF"
    myMsg = "Generato file" & vbCrLf & myNomePDF & vbCrLf & vbCrLf & "Vuoi aprirlo ?"
    DoCmd.OpenReport "ReportAnagrafiche", acViewReport, , PV_CondSQL, acHidden
    DoCmd.OutputTo acOutputReport, "ReportAnagrafiche", acFormatPDF, myNomePDF
    If MsgBox(myMsg, vbYesNo) = vbYes Then
        Application.FollowHyperlink myNomePDF
    End If
    If MsgBox(myNomePDF & vbCrLf & "Vuoi cancellare il file ?", vbYesNo) = vbYes Then
        Kill myNomePDF
    End If
    End Sub
    pero' quando viene generato il report viene comunque visualizzato per un attimo, un flash veloce su video
    esiste qualche altro metodo o sono io che comunque sbaglio ancora i parametri?
  • Re: Generare report PDF e aprirlo

    Interpreto alla lettera ciò che hai raccontato finora. Hai detto che "sostanzialmente" ti interessa:
    - sapere che esiste il report ReportAnagrafiche
    - esportarlo in PDF
    - aprirlo in PDF (ma non aprirlo come report)

    Che succede se elimini proprio la riga DoCmd.OpenReport ?
  • Re: Generare report PDF e aprirlo

    Non ci ho provato finora perche' il modulo report e' generico e In quella riga io gli passo il parametro SQL
    e successivamente lo visualizzo in PDF per quello che mi interessa dato che nella maschera che chiama la routine imposto dei filtri
    Ora ci ho provato giusto per conferma, ma se al report non mando la riga SQL mi elenca tutti i record dell tabella
  • Re: Generare report PDF e aprirlo

    Prova a creare una query con i parametri che sai tu. Poi fai poggiare il report sulla query. In questo modo non sei costretto a passare i parametri nel report che (immagino) puoi esportare senza problemi.
  • Re: Generare report PDF e aprirlo

    Prova a creare una query con i parametri che sai tu
    E' proprio li' la particolarita'
    Creo una query su cira 40 parametri diversi editabili (sempre che lo voglia e quanti ne vuole) dall'utente
    vari Si/No/Indifferente
    date dal al
    like su qualche campo
    campi esattamente uguali
    ecc.ecc.
    l'utente imposta i suoi parametri
    sono parametri molto diversi e le combilazioni sono infinite
    io poi costriusco la riga SQL su misura e la invio al report
  • Re: Generare report PDF e aprirlo

    Costruire una riga SQL
    mandarla in esecuzione costruendo una query
    generare un file pdf senza sfarfalii
    e' quindi impossibile?
  • Re: Generare report PDF e aprirlo

    Dopo aver letto e non essere intervenuto... per ovvi motivi...

    Servirebbe capire bene il contesto, a me non ha mai sfarfallio nulla ed uso questo metodo spesso... quindi fossi in te non ne fare una condizione assoluta quanto più contestuale.

    Nel caso usa ECHO OFF prima di aprire il report e ripristinalo subito dopo... ovviamente gestione errori con ripristino all'uscita.
  • Re: Generare report PDF e aprirlo

    Compare per un attimo un msg windows
    Invio in corso del Output del report
    al file C:\TEMP\...
    pagina corrente...

    tenendo presente che PV_CondSQL e' la condizione WHERE elaborata in base alle scelte dell'utente
    e che il file report risponde correttamente alle richieste inserite dall'utente
    le 2 seg righe sono formalmente corrette ?
    DoCmd.OpenReport "ReportAnagrafiche", acViewPreview, , PV_CondSQL
    DoCmd.OutputTo acOutputReport, "ReportAnagrafiche", acFormatPDF, myNomePDF
Devi accedere o registrarti per scrivere nel forum
12 risposte