Creazione report in pdf con specifica nome

Anonimo
2010-09-03T07:57:49+00:00

Avrei la necessità di creare un automatismo che mi consenta di creare in automatica, da un unico report, più report in pdf, in funzione della variazione di un determinato campo e di nominarli con il valore della variabile. Mi spiego con un esempio: ho un report che mi crea delle pagine distinte per città (Roma, Milano, Verona, ecc.). Avrei bisogno di creare automaticamente una stampa in pdf per ogni città con nome file Roma.pdf, Milano.pdf, Verona.pdf, ecc.

Spero di essermi spiegato.

Grazie

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2010-09-03T15:43:25+00:00

Ciao Pino57,

non esiste una procedura nativa che ti consenta di fare quello che desideri, puoi arrivarci scrivendo un po' di codice  ad esempio:

While not rs_citta.eof

DoCmd.OpenReport "TuoReport", acViewNormal, , "citta=''" & rs_citta.Fields(0) & "'"

DoCmd.OutputTo acOutputReport, Screen.ActiveReport.name, acFormatPDF
Name  Screen.ActiveReport.name & ".pdf",   rs_citta.Fields(0) & ".pdf"

rs_citta.moveNext

wend

rs_Citta è un recordset che contiene l'elenco delle città che ti interessano


Cinzia


Sito RIO

Il mio Blog

La risposta è stata utile?

0 commenti Nessun commento

17 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-02-03T10:45:22+00:00

    Bene, grazie, funziona quasi.

    Nel senso che il report che mi stampa è sempre completo ed è riferito a tutte le filiali e non suddivide stampando un pdf per ciascuna filiale.

    Il codice che ho inserito è il seguente:

    Sub stampa()

    Dim rs_FILind As Recordset

    Dim progressivo As Integer

    Set dbsBudget_2012 = CurrentDb

    Set rs_FILind = CurrentDb.OpenRecordset("Budget2012")

    While Not rs_FILind.EOF

    DoCmd.OpenReport "SKbudget", acViewNormal, , "filiale = ''" & rs_FILind.Fields(0) & "'"

    DoCmd.OutputTo acOutputReport, Screen.ActiveReport.Name, acFormatPDF

    Name Screen.ActiveReport.Name & ".pdf" As rs_FILind.Fields(0) & ".pdf"

    rs_FILind.MoveNext

    Wend

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-02-03T07:54:06+00:00

    Ciao Pino,

    se l'errore te lo segnala sulla Dim allora hai problemi di riferimenti alle librerie.

    se l'errore è alla While devi inserire tra le due istruzioni :

    Dim rs_FIL1 As Recordset

    While Not rs_FIL1.EOF

    una istruzione Set del tpo

    set rs_FIL1=CurrentdDb.openRecordset ("Select .... from nometabella")

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-02-02T17:17:04+00:00

    dopo oltre un anno ritorno sull'argomento in quanto, date le mie modeste capacità di programmatore, ho problemi a far funzionare il tutto.

    Ho un report "Schede" nel quale ogni scheda deve essere stampata in pdf con il nome del file uguale al campo "filiale" della query "fil1".

    Ho inserito il codice seguente ma si blocca al primo comando

    Come posso fare? grazie

    Sub stampa()

    Dim rs_FIL1 As Recordset

    While Not rs_FIL1.EOF

    DoCmd.OpenReport "Schede", acViewNormal, , "filiale=''" & rs_fil1.Fields(0) & "'"

    DoCmd.OutputTo acOutputReport, Screen.ActiveReport.Name, acFormatPDF

    Name Screen.ActiveReport.Name & ".pdf" As rs_fil1.Fields(0) & ".pdf"

    rs_fil1.MoveNext

    Wend

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2010-09-14T14:37:29+00:00

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento