Rapport - elke pagina andere naam opslaan

Status
Niet open voor verdere reacties.

Japsur

Gebruiker
Lid geworden
9 apr 2004
Berichten
650
Hallo,

Ik heb een rapport binnen MS Access gemaakt alleen deze kost mij nu heel veel tijd om uit te printen naar PDF, want ik moet elke pagina afzonderdelijk van dit rapport uitprinten.
Nu print ik eerst alleen pag 1, dan pag 2, dan 3, tot het eind (100 ong.). Hetgeen mij enorm veel tijd kost, aangezien ik ook continue moet kijken welke naam het rapport krijgt (staat in het rapport).

Nu is mijn vraag of ik dit ook automatisch kan laten verlopen via vba en met behulp van pdf creator.
Dus dat hij eerst pag 1. print en dus opslaat als pdf met de naam wat in het veld [achternaam] en [voornaam] staat, dan naar pag. 2 gaat en deze print en dus opslaat als pdf enz. tot aan de laatste pagina. De laatste pagina varieert per kwartaal.
Wie weet hier iets op?

Ik waardeer jullie antwoorden enorm!
Alvast dank.
 
Access versie?

Is het zo dat de naam van je PDF hetzelfde is als die van de query die je exporteert?
Als dat zo is hoef ja alleen de naam van je query iedere keer aan te passen voor ieder pagina die je wilt maken.

Enjoy.

Normaal beantwoord ik alleen vragen die nog niet beantwoord zijn en minstens een dag oud en soms niet.
 
Ik exporteer niets en de naam van de query heeft simpelweg continue 1 naam.

De naam die het pdf moet hebben is afh. van de naam die in het rapport staat onder "achternaam" & " voornaam"
 
ACCESS VERSIE?

"Uit te printen naar PDF". Dan exporteer je.
Welk commando gebruik je daarvoor?

Welke naam krijgt je PDF nu?
 
Ok, 2007,

De code die ik gebruik tot dusver is deze. Deze gebruik ik als ik op een knop op formulier druk en dan roep ik dit aan:
Code:
Dim ppdetail As String 
    Dim fs 
    Dim ft 
    Dim kwartaal As Variant 
    Dim tekst9 As Variant 
'   Dim Plaats2 As Variant 
    kwartaal = Forms.overzichten.Kwartalen.Value 
    Set fs = CreateObject("Scripting.FilesystemObject") 
    If Not fs.FolderExists(Application.CurrentProject.Path & "\Overzichten") Then 
    MkDir (Application.CurrentProject.Path & "\Overzichten") 
    End If 
    Set fs = CreateObject("Scripting.FilesystemObject") 
    If Not fs.FolderExists(Application.CurrentProject.Path & "\Overzichten\" & tekst9.Value & "\" & kwartaal) Then 
    MkDir (Application.CurrentProject.Path & "\Overzichten\" & tekst9.Value & "\" & kwartaal) 
    End If 
    ppdetail = Application.CurrentProject.Path & "\Overzichten\" & tekst9.Value & "\" & kwartaal 
    
'        Plaats2 = Forms.lijsten.Plaats2.Value 
Dim intpage 
For intpage = 1 To Report.End 

 Dim PDFCreator As PDFCreator.clsPDFCreator, DefaultPrinter As String, c As Long, _ 
  OutputFilename As String 
 Set PDFCreator = New clsPDFCreator 
 With PDFCreator 
  .cStart "/NoProcessingAtStartup" 
  .cOption("UseAutosave") = 1 
  .cOption("UseAutosaveDirectory") = 1 
  .cOption("AutosaveDirectory") = ppdetail 
  .cOption("AutosaveFilename") = "Achternaam" & ", " & "Voornaam" 
  .cOption("AutosaveFormat") = 0                            ' 0 = PDF 
  DefaultPrinter = .cDefaultPrinter 
  .cDefaultPrinter = "PDFCreator" 
  .cClearCache 
  DoCmd.OpenReport RepName, acViewNormal 
  
  .cPrinterStop = False 
 End With 

 c = 0 
 Do While (PDFCreator.cOutputFilename = "") And (c < (maxTime * 1000 / sleepTime)) 
  c = c + 1 
  Sleep 200 
 Loop 
 OutputFilename = PDFCreator.cOutputFilename 
 With PDFCreator 
  .cDefaultPrinter = DefaultPrinter 
  Sleep 200 
  .cClose 
 End With 
 Sleep 2000 ' Wait until PDFCreator is removed from memory 
 If OutputFilename = "" Then 
  MsgBox "Creating pdf file." & vbCrLf & vbCrLf & _ 
   "An error is occured: Time is up!", vbExclamation + vbSystemModal 
 End If 
Next 
End Sub

bij .cOption("AutosaveFilename") = "Achternaam" & ", " & "Voornaam" haalt ie de achternaam en voornaam uit het rapport.
Maar emt deze code print hij direct alle pagina's, nu moet ie zo gaan werken dat hij pagina voor pagina print opslaat print opslaat enz.
 
Goh, welke naam krijgt je PDF file nu?

Weet je hoe je code werkt en waarom er iets uitkomt?

Als je minder gegevens aanbied aan je report, dan koomt er maar een pagina uit. Je moet alleen bijhouden welke informatie heb ik al gehad en welke moet ik nog.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan