Post by c***@gmail.comPost by @AlexPost by c***@gmail.comPost by Bruno CampaniniPost by c***@gmail.comBuonasera.
con il comando
DoCmd.OutputTo acOutputReport, ecc...
riesco a creare e salvare nel percorso da me indicato il file pdf.
Mi servirebbe però che venissero creati tanti file pdf per ogni singola
pagina del report. E' possibile farlo direttamente con un comando Vba,
piuttosto che aprire il pdf in acrobat pro e dividerlo? Grazie.
Questa stampa le prime tre pagine di un report,
separatamente.
============================================
Private Sub Command86_Click()
Dim i As Integer
DoCmd.OpenReport "Report1", acViewPreview
For i = 1 To 3
DoCmd.PrintOut acPages, i, i
Next
DoCmd.Close acReport, "Report1"
End Sub
===========================================
Bruno
Grazie tante Bruno.
Ma stampa tre pagine per For i = 1 To 3?
Come faccio a crearne tanti quanti sono le pagine, se non ne conosco il numero?
Grazie.
Come non sai il nuemro di Pagine...???
Appena aperto il Report in modalità Preview... recuperi l'istanza e leggi la Proprietà PAGES...
Private Sub Command86_Click()
Dim i As Integer
Dim rpt As Access.Report
DoCmd.OpenReport "Report1", acViewPreview
Set rpt=Reports("Report1")
For i = 1 To rpt.pages
DoCmd.PrintOut acPages, i, i
Next
set rpt=nothing
DoCmd.Close acReport, "Report1"
End Sub
Saluti
@Alex
Ciao Alex grazie tante e scusa per il notevole ritardo ma ho dovuto momentaneamente accantonare.
Con il tuo codice non capisco se crea o no il file, e se lo crea non me lo apre o non so se lo salva, dove lo salva.
Ho messo l'interruzione al codice a
docmd.openReport "SchedaRilevSpesa", acViewPreview e si crea regolarmente.
Dim percorso As Variant
Dim struttura As String
struttura = Nz(DLookup("DescrStruttura", "tblStrutture", "idStruttura=" & IdStruttura))
percorso = "D:\Strutture\" & struttura & "\Schede rilevazione Spesa Mensile" & "\" & Anno & "\" & Format((Mese), "00")
DoCmd.OutputTo acOutputReport, "SchedaRilevSpesa", acFormatPDF, percorso & "\" & "Scheda Rilevazione Spesa " & struttura & " - " & Anno & "_" & Format((Mese), "00") & ".pdf"
con la modifica che voglio apportare mi deve salvare invece un file per ogni pagina che rileva in modalità Preview come dici tu.
Come combino il codice esistente con quello che mi hai gentilmente scritto tu?
Grazie in anticipo e scusa se non ho saputo mettere in pratica la tua soluzione.
Giuseppe
Ciao Giuseppe... come ben potrai vedere quello di cui parli NON E' il mio suggerimento... ma quello suggerito da BRUNO nel quale io ho integrato tecnicamente un suggerimento in risposta al dubbio che ti era venuto sulla questione della determinazione del NUMERO DI PAGINE, quindi dei chiedere a BRUNO nel caso in merito a come lui pensava di fare...
Per me, rimane abbastanza chiaro che quel metodo va bene per stampare su carta o su PDF con una VirtualPrinter, a quel punto la definizione del PATH+NOME deve passare per l'oggetto di Stampa usando questo metodo.
Personalmente peraltro, non lo trovo un gran bel metodo in relazione all'esigenza espressa (ma non ci sono alternative se parli di SINGOLO REPORT PER PAGINA), soprattutto nel caso di Intestazione REPORT o RAGGRUPPAMENTI Differenziati, ti perderesti sulle PAGINE>1 l'intestazione del REPORT, o le INSTESTAZIONI di SEZIONE(Gruppo)...
Il problema in questa tua richiesta è la definizione di PAGINA come elemento DISCRIMINANTE... è un dato NON attinente con il Database.
Se invece, per SINGOLO REPORT riesci ad usare un metro di definizione o attribuzione di granularità più tecnicamente legata alla struttura Relazionale... un ID, un Tipo una periodicità o un altro criterio sempre riconducibile ai dati di Tabelle, potresti fare un ciclo su un Recordset estratto adeguatamente e generare un REPORT FILTRATO usando la WHERE CONDITION su OpenReport, così da mantenere tutte le caratteristiche Tecnico/Grafiche delle pagine come sopra indicato, per poi usare DoCmd.OutputTo... e defrinire li il PATH+NOME come già esposto.
Prova a pensarci meglio.
@Alex