Access report van een record opslaan als pdf

Status
Niet open voor verdere reacties.

rolfohtar

Gebruiker
Lid geworden
23 aug 2008
Berichten
136
Hallo,

Ik heb een database met facturen erin. Nu wil ik graag een knop hebben waarmee ik de geselecteerde factuur in een formulier wil opslaan als pdf in de map Facturen. Dat heb ik met onderstaande code gedaan en dat lukt.

Alles gaat goed, behalve dat door DoCmd.OpenReport het rapport ook wordt geopend in afdrukweergave. Door acHidden toe te voegen zou het rapport niet moeten openen. Maar dit gebeurt alsnog, alleen dan af en toe.
Als ik dat stukje code eruit haal dan opent het rapport zich niet goed, want dan pakt hij alle records in plaats van één.

Hoe kan ik het zover krijgen dat het rapport helemaal niet opent als ik op de knop druk, maar wel opslaat?

Code:
Private Sub cmdReportOpslaan_Click()
Dim folder As String
Dim strDocName As String
Dim strWhere As String

On Error GoTo Opslaan_cmdReportOpslaan
folder = CurrentProject.Path & "\Facturen\"
MkDir folder
    Resume Opslaan_cmdReportOpslaan

Opslaan_cmdReportOpslaan:
    strDocName = "Factuur"
    strWhere = "[Factuurnummer]=" & Me!Factuurnummer
DoCmd.OpenReport strDocName, acPreview, "", strWhere, acHidden
DoCmd.OutputTo acOutputReport, strDocName, acFormatPDF, folder & Me!Factuurnummer & ".pdf"
End Sub
 
Waarom open je het rapport? Dat lijkt mij helemaal niet nodig.
 
Als ik dat niet doe dan slaat hij het rapport op met alle factuurregels van alle facturen in plaats van alleen de factuurregels van de geselecteerde factuur. Ik heb geen idee waarom hij dat doet. Het liefst zou ik hem ook niet willen openen inderdaad.
 
Je moet ofwel een filter hard in de query van het rapport coderen, ofwel de code die je nu hebt uitbreiden met een extra regel die het rapport weer sluit. Wat voor jou het makkelijkst is...

Code:
DoCmd.Close acReport, stDocName
 
Het werkte eerst niet, het toevoegen van die regel. Stom! Ik was vergeten de naam van het rapport erin te zetten. Het werkt perfect nu! Bedankt voor je hulp!
 
Ik wil juist hetzelfde doen, het opslaan van de gemaakte factuur. Is het mogelijk de code zoals ze werkt bij jou eens hier te plaatsen, ik raak er ook niet verder mee.
 
Het is niet de bedoeling om een vraag te stellen in een topic van iemand anders, en zeker niet als de status al op Opgelost staat. Als de aangegeven oplossing voor jou niet werkt, maak dan een eigen vraag aan en geef dan ook aan waarom deze oplossing niet werkt, want dan hoeven we die niet nog een keer aan te dragen!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan