Verteiler für Berichte

Wer sich die Berichte seiner Access-Datenbank nicht in der Datenbank selbst ansehen, sondern anderen Personen präsentieren will, kommt nicht um einen Export herum. Dieser findet heutzutage in der Regel im PDF-Format statt. Einen einzelnen Bericht mal eben zu exportieren ist auch schnell erledigt. Anders sieht es aus, wenn immer mal wieder bestimmte Zusammenstellungen von Berichten exportiert werden sollen – einmal für das Controlling, einmal für den Chef et cetera. Dann kommt Ihnen die kleine Lösung aus diesem Beitrag zuhilfe, mit der Sie Verteiler für Berichte zusammenstellen und die Berichte per Mausklick in das gewünschte Verzeichnis exportieren.

Einfacher Export

Der übliche Weg zum Exportieren ist beispielsweise, im Navigationsfenster den zu exportierenden Bericht zu markieren und dann auf die rechte Maustaste zu klicken, um das Kontextmenü anzuzeigen. Daraus wählen Sie dann den Eintrag Exportieren|PDF oder XPS aus (s. Bild 1). Im folgenden Datei auswählen-Dialog legen Sie dann die Zieldatei für den Export im PDF- oder XPS-Format fest. Einen Mausklick später öffnet Access bereits die so angelegte Datei.

Export per Kontextmenü

Bild 1: Export per Kontextmenü

Export per VBA

Per VBA exportieren Sie einen Bericht am einfachsten mit der OutputTo-Methode des DoCmd-Objekts. Dieses erwartet die folgenden Parameter:

  • ObjectType: Typ des Objekts, in diesem Fall acOutputReport für einen Bericht
  • ObjectName: Name des Objekts, wie er im Datenbankfenster angegeben ist
  • OutputFormat: Format des Exports, für unsere Anwendung acFormatPDF
  • OutputFile: Pfad der zu erstellenden Datei
  • Autostart: Gibt an, ob die Datei direkt in der entsprechenden Anwendung (hier meist Acrobat Reader) geöffnet werden soll. True öffnet das Dokument, bei False geschieht nichts (Standardwert).

Ein Beispiel für einen einfachen Aufruf sieht wie folgt aus:

DoCmd.OutputTo acOutputReport, "rptArtikel", acFormatPDF, "c:\Export\Artikel.pdf", True

Dies erstellt das Dokument Artikel.pdf auf Basis des Berichts rptArtikel und öffnet dieses direkt (s. Bild 2).

Frisch exportierter Bericht

Bild 2: Frisch exportierter Bericht

Funktion der Lösung

Unsere kleine Lösung soll ein Formular anbieten, mit dem Sie verschiedene Verteilerlisten verwalten können. Jeder Verteilerliste können Sie dabei einen oder mehrere der Berichte, die in der aktuellen Datenbank vorhanden sind, zuweisen. Ein Klick auf eine Schaltfläche soll dann alle Berichte für den aktuell angezeigten Verteiler in das PDF-Format exportieren. Das Formular sieht wie in Bild 3 aus. Es zeigt im oberen Bereich die Daten des aktuellen Verteilers an, der sich vor allem durch eine Bezeichnung und einen Export-Pfad auszeichnet. Den Pfad können Sie mit einem Verzeichnis auswählen-Dialog ermitteln, den Sie mit einem Klick auf die Schaltfläche rechts vom entsprechenden Textfeld öffnen.

Das Formular zum Auswählen der Berichte, die in einem Verteiler landen und von dort exportiert werden sollen

Bild 3: Das Formular zum Auswählen der Berichte, die in einem Verteiler landen und von dort exportiert werden sollen

Das Unterformular zeigt alle Berichte an, die aktuell zum Verteiler gehören. Hier werden der Berichtsname sowie der Dateiname angezeigt, unter dem die PDF-Datei erzeugt werden soll. Die Schaltfläche Exportieren schließlich sorgt für den Export der Berichte dieses Verteilers. Im Falle des hier abgebildeten Verteilers ergibt sich ein Ergebnis wie in Bild 4.

Die exportierten Berichte zu einem Verteiler

Bild 4: Die exportierten Berichte zu einem Verteiler

Datenmodell

Das Formular zeigt die Daten aus insgesamt drei Tabellen an, die Sie samt ihrer Beziehungen in Bild 5 sehen. Die Tabelle tblVerteiler enthält neben dem Primärschlüsselfeld die beiden Felder Bezeichnung und Zielverzeichnis. Die Berichte speichern wir in der Tabelle tblBerichte, die im Feld Bericht den Namen des Berichts und in Dateiname den Namen der zu erstellenden Datei aufnimmt. Das Feld Vorhanden dient als Unterstützung beim Aktualisieren der Berichte, falls seit der letzten Verwendung des Formulars neue Berichte hinzugefügt oder alte entfernt wurden. Für das Feld Bericht legen wir einen eindeutigen Index fest, damit jeder Bericht nur einmal in der Tabelle auftauchen kann.

Datenmodell der Lösung

Bild 5: Datenmodell der Lösung


Nur für Abonnenten

Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.

Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.

So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.

Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.

Bereits Abonnent? Hier einloggen


Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →

Schreibe einen Kommentar