Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Berichtsseiten einzeln als PDF mit unterschiedlichen Namen Speichern

Begonnen von UZI_Berlin, Juni 24, 2025, 10:11:09

⏪ vorheriges - nächstes ⏩

UZI_Berlin

Hallo Zusammen,

ich erstelle für einen Verein Spendenbescheinigungen.
Ich habe ein Bericht mit dem Formular erstellt und möchte jetzt die Möglichkeit haben die einzelnen Seiten des Berichts als PDF zu speichern.
Die Tabelle heißt: Spenden
der Bericht: Geldzuwendungen

Auch habe ich noch nicht herausbekommen, wie ich es einrichten kann, dass ich nach dem Unterschriftsdatum gefragt werde, sodass nicht alle Dokumente erstellt werden.

ich versuche mich hier zum ersten mal an VBA, daher bitte ich um Nachsicht.

bisher bin ich zu dem Ergebnis gekommen (s.u.)
beim Debuggen fliegt mir immer die Zeile "lngPageCount = Reports(strReportName).Pages" um die ohren.


Sub PDF_Click()
Dim strReportName As String
  Dim strPath As String
  Dim i As Integer
  Dim lngPageCount As Long

  ' Name des zu exportierenden Berichts
  strReportName = "Geldzuwendungen"

  ' Pfad, in dem die PDF-Dateien gespeichert werden sollen
  strPath = "C:\Downloads\"

  ' Anzahl der Seiten im Bericht ermitteln
  lngPageCount = Reports(strReportName).Pages

  ' Schleife über jede Seite des Berichts
  For i = 1 To lngPageCount
    ' Dateiname generieren (z.B. Bericht_Seite1.pdf, Bericht_Seite2.pdf, etc.)
    Dim strFileName As String
    strFileName = Unterzeichner_Datum & Spender & ".pdf"

    ' Bericht öffnen (wenn nicht bereits geöffnet)
    DoCmd.OpenReport strReportName, acViewNormal

    ' Bericht auf die aktuelle Seite setzen
    DoCmd.GoToRecord acReport, strReportName, acGoTo, i

    ' Seite als PDF exportieren
    DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strFileName, False

    ' Bericht schließen
    DoCmd.Close acReport, strReportName, acSaveNo

  Next i

  MsgBox "Bericht erfolgreich als einzelne PDFs exportiert."
End Sub

Knobbi38

Hallo,

einzelne Seiten kannst du nicht als PDF Datei abspeichern, das ist nicht vorgesehen. Hier sind zwei Möglichkeiten, wie man das umsetzen könnte. Entweder wird jede Spendenbescheinigung einzeln ausgegeben oder du erstellst eine große PDF-Datei und zerlegst diese mit einem externen Tool wieder in ihre einzelnen Seiten.

Da das Thema schon mehrmals hier im Forum behandelt worden ist, kannst du ja auch mal danach suchen.

Gruß Knobbi38

UZI_Berlin

Hallo

Vielen Dank für die Antwort.
So habe ich es bisher immer gemacht, aber das muss doch auch einfacher gehen, findest du nicht?

https://youtu.be/EiGEJwI0uyE?si=nxyzRcAFweDbRKZM

in dem beigefügten Link ist das aber genau umgesetzt.
Das einzige was fehlt ist nur die Auswahl nach Datum.

ich suche gerne noch mal in den anderen Posts, leider habe ich nix bis jetzt gefunden.

Knobbi38

#3
Hallo,

das Video aus dem Link hat doch nichts mit deiner beschriebenen Problemstellung zu tun.  ::)

Zur Erinnerung: die Fragestellung war, einzelne Seiten eines Berichts als PDF abzuspeichern und dafür sind mir zunächst nur die skizzierten beiden Lösungen eingefallen.

Eine andere Lösung wäre mit Hilfe von Word und der Serienbrief-Funktion, wobei die Access Datenbank als Datenquelle dient. Damit kannst du dann jede einzelne Spendenquittung problemlos als Pdf Datei ausgeben, aber auch dafür wäre VBA notwendig.

Gruß Knobbi38


UZI_Berlin

Hallo Knobbi38

Wenn du das Video bis zum Schluss schaust wirst du sehen, dass er jede Seite einzeln abgespeichert wird

VG
Uwe

Knobbi38

Hallo Uwe,

erstmal muß ich mich für den falschen Namen entschuldigen - Sorry dafür!

Ausnahmsweise habe ich mir das Video sogar bis zum Ende angeschaut und mit dem Code wird für jeden Bericht eine separate PDF erzeugt, so wie bereits als ersten Lösungsansatz beschrieben. Das ist nichts Neues. Was dort am Ende noch erwähnt wird ist, wie ein mehrseitigen Bericht in einzelne PDF Dateien seitenweise aufgeteilt wird, aber eben auch nur mit einem ext. Tool - hatten wir aber auch schon.

Wie gesagt, es gibt nur die zwei beschriebenen Lösungsansätze in Access und alternativ den Umweg über Word, mehr sind mit noch nicht unter gekommen.

Etwas ganz anderes wäre, eine PDF-Formular zu gestalten und dieses aus Access heraus auszufüllen und anschließend als PDF-Datei zu speichern, aber auch dafür würde Fremdsoftware benötigt, z.B. Adobe Acrobat (nicht den Reader!) oder aber auch über FDF-Dateien in Verbindung mit pdftk.


Gruß Knobbi38