Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Es fragen immer wieder Leser an, ob wir nicht einmal beschreiben können, wie man einen Bericht als PDF-Dokument speichert und diesen dann per E-Mail verschickt. Kein Problem: Wir schauen uns erst die einzelnen Grundtechniken an und gehen dann dazu über, Lösungen für Spezialfälle zu entwickeln.
Bericht als PDF speichern
Während wir in früheren Access-Versionen noch eine externe Software benötigten, um PDF-Dokumente auf Basis von Access-Berichten zu erstellen, liefert Access nun zum Glück ein Export-Format für diese Anforderung mit. Also ist ja alles in Butter – wir müssen nur noch herausfinden, wie wir den Bericht per Knopfdruck im PDF-Format speichern.
Beispielbericht
Dazu benötigen wir erstmal einen passenden Bericht. Wir wollen allerdings nicht mit einem einfachen Bericht beginnen, der einfach per Doppelklick auf den Berichtsnamen im Navigationsbereich aufgerufen werden kann, sondern mit etwas Anspruchsvollerem. Was könnte das sein Natürlich ein Bericht, dem wir beim öffnen per WhereCondition ein Kriterium übergeben, nach dem die anzuzeigenden Daten ausgegeben werden. Dies ist nämlich üblicherweise der Fall – es gibt wohl nur selten Berichte, die alle Datensätze der zugeordneten Datenherkunft ausgeben. Die meisten Berichte liefern gefilterte Daten, beispielsweise in einer Rechnung, die nur die Daten zu einer bestimmten Bestellung enthalten soll.
Unser Beispielbericht ist so aufgebaut, dass Sie mit ihm alle Datensätze der Tabelle tblBestellungen ausgeben können oder auch nur eine einzige Rechnung. Er ist wie in Bild 1 aufgebaut und enthält beispielsweise einen Seitenkopf, der nur für die Folgeseiten der ersten Seite der jeweiligen Rechnung ausgegeben werden soll. Dazu enthält der Bericht ein paar Ereignisprozeduren, auf deren Bedeutung wir weiter unten zu sprechen kommen (den vollständigen Bericht stellen wir im Beitrag Rechnungsbericht vor – siehe www.access-im-unternehmen.de/1044).
Bild 1: Dialog zum Festlegen von Sortierungen und Gruppierungen
Bericht öffnen
Wenn Sie diesen Bericht einfach über den Navigationsbereich öffnen, zeigt er alle Rechnungen zu den Datensätzen der Tabelle tblBestellungen an (immerhin einige hundert). Das ist natürlich nicht das Ziel – wir wollen am Ende genau einen Bericht öffnen, in ein PDF-Dokument speichern und dann per E-Mail verschicken.
Dazu bauen wir ein kleines Formular auf, das in der Entwurfsansicht wie in Bild 2 aussieht. Wenn wir nun auf eine der Schaltflächen klicken, soll immer genau die Rechnung für die aktuell angezeigte Bestellung ausgegeben werden.
Bild 2: Formular zum Anzeigen einer Bestellung und zum Ausgeben von Rechnungen
Wenn wir die Schaltfläche cmdBerichtAnzeigen anklicken, soll der Bericht einfach nur in der Seitenansicht geöffnet werden. Dazu verwenden wir eine Ereignisprozedur, die den Bericht mit der Methode DoCmd.OpenReport öffnet und dabei mit dem Parameter WhereCondition den Ausdruck „BestellungID = “ & Me!BestellungID übergibt. Dies gelingt auch, wie Bild 3 zeigt: Der Bericht enthält lediglich eine Seite mit den im Formular zu dieser Bestellung angezeigten Rechnungspositionen. Die Ereignisprozedur sieht wie folgt aus:
Bild 3: Formularansicht zum Anzeigen einer Bestellung und zum Ausgeben von Rechnungen
Private Sub cmdBerichtAnzeigen_Click() DoCmd.OpenReport "rptRechnungen", View:=acViewPreview, _ WhereCondition:="BestellungID = " & Me!BestellungID End Sub
Soweit, so gut: Aber wir wollen ja nicht die Berichtsvorschau, sondern ein PDF-Dokument mit dem gleichen Inhalt. Bei geöffnetem Bericht kommen wir relativ einfach dorthin: Wir müssen nur die Drucken-Schaltfläche des Ribbons betätigen und im nun erscheinenden Drucken-Dialog den Eintrag Microsoft Print To PDF auswählen (s. Bild 4). Nach einem Klick auf OK erscheint ein Dateiauswahl-Dialog, mit dem Sie festlegen, unter welchem Dateinamen die PDF-Datei gespeichert werden soll. Danach können Sie die PDF-Datei öffnen, die wie in Bild 5 aussieht.
Bild 4: Drucken-Dialog mit dem Microsoft-eigenen PDF-Treiber
Bild 5: Ein Bericht im PDF-Format
PDF per VBA erstellen
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo