Berichte [basics]: Berichte per VBA öffnen

Der Access-Poweruser öffnet seine Berichte einfach durch einen Doppelklick auf den jeweiligen Eintrag im Navigationsbereich. Wenn er den Bericht nach bestimmten Daten filtern möchte, kann er dies durch das Definieren von Parametern in der Datensatzquelle des Berichts erledigen und die Parameter beim Öffnen eingeben. Einen Schritt weiter gehen wir, wenn wir die Kriterien für den Bericht per Formular festlegen und diese in der Abfrage des Berichts referenzieren. Das ist aber immer noch recht unflexibel. Wenn der Bericht nach beliebigen Kriterien gefiltert werden und dieser über eine Schaltfläche geöffnet werden soll, die der Benutzer über ein Formular definiert, können wir dazu VBA nutzen. Wie das gelingt, zeigen wir in den folgenden Abschnitten.

Beispieldatenbank

Die Beispiele dieses Artikels findest Du in der Datenbank BerichteBasics_BerichtPerVBAOeffnen.accdb. Als Datensatzquelle verwenden wir die Tabelle tblKunden und darauf basierende Abfragen.

Als Grundlage für die Berichte dient der im Artikel Berichte [basics]: Grundlagen (www.access-basics.de/526) erstellte Bericht rptKunden (siehe Bild 1).

Bericht zur Anzeige von Adressen

Bild 1: Bericht zur Anzeige von Adressen

Dieser verwendet in der aktuellen Fassung die Tabelle tblKunden als Datensatzquelle.

Bericht über die Benutzeroberfläche öffnen

Um diesen Bericht auf einfache Weise anzuzeigen, klicken wir doppelt auf den Namen des Berichts im Navigationsbereich von Access. Dies öffnet den Bericht allerdings in der Berichtsansicht. Das ist jedoch nicht die Ansicht, in der wir diesen ausdrucken oder als PDF veröffentlichen können. Um dies zu erreichen, benötigen wir bereits das Kontextmenü des Berichts im Navigationsbereich.

Aus diesem wählen wir den Eintrag Seitenansicht aus (siehe Bild 2). Eine Möglichkeit zum Filtern erhalten wir so allerdings nicht – wenn wir also nur die Adressen von bestimmten Kunden ausgeben wollen, müssen wir eine alternative Möglichkeit zum Öffnen des Berichts nutzen. Diese schauen wir uns nun im Detail an.

Öffnen des Berichts in der Seitenansicht

Bild 2: Öffnen des Berichts in der Seitenansicht

Öffnen eines Berichts per VBA

Wir haben uns im Artikel Formulare [basics]: Forms öffnen mit DoCmd.OpenForm (www.access-basics.de/642) bereits angesehen, wie wir Formulare per VBA öffnen können.

Dazu haben wir die OpenForm-Methode der DoCmd-Klasse genutzt. Analog zum Öffnen von Formularen mit OpenForm gibt es für Berichte die Methode OpenReport.

Um einen Bericht per VBA mit dieser Methode zu öffnen, nutzen wir zunächst den Direktbereich des VBA-Editors. Hier geben wir die folgende Anweisung ein:

DoCmd.OpenReport

Dies liefert uns per IntelliSense eine Übersicht der Parameter für diesen Befehl (siehe Bild 3).

Eingeben des Befehls DoCmd.OpenForm

Bild 3: Eingeben des Befehls DoCmd.OpenForm

Die einfachste Methode ist allein die Angabe des Namens des zu öffnenden Berichts:

DoCmd.OpenReport "rptKunden"

Dies zeigt den Bericht allerdings nicht an, sondern schickt diesen direkt zum Standarddrucker. Wenn man den Bericht schnell drucken möchte, kann man diesen Befehl nutzen.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar