Berichtsereignisse: Bei ohne Daten

Neben den verschiedenen Bereichen und Steuerelementen liefern Berichte auch eine Reihe von Ereigniseigenschaften, für die Sie wie bei Formularen Ereignisprozeduren hinterlegen können. Ein interessantes Ereignis heißt “Bei ohne Daten”. Es wird ausgelöst, wenn die Datenherkunft des Berichts keinerlei Datensätze beinhaltet. Ist dies der Fall, wird üblicherweise der Bericht ohne Daten geöffnet. Das möchten Sie aber vielleicht verhindern – und zwar mit Hilfe der hier vorgestellten Ereignisprozedur.

Bei Ohne Daten: öffnen leerer Berichte vermeiden

Das Ereignis Bei Ohne Daten wird ausgelöst, wenn die Anzahl Datensätze in der Da-ten-satz-quelle des Berichts 0 ist. Damit ist die entsprechende Ereignisprozedur prädes-tiniert, Auf-rufe der Seiten- und der Berichtsansicht zu unterbinden, wenn die Datenherkunft gar keine Daten bereitstellt.

Die Benutzer werden es Ihnen danken, wenn nicht hin und wieder Aus-dru-cke von eigentlich leeren Berichten vorkommen. Zum Simulieren eines leeren Berichts setzen Sie einfach eine DoCmd.OpenReport-An-wei-sung mit einem entsprechenden Kriterium ein:

Private Sub cmdBerichtOhneDatenOeffnen_Click()
     DoCmd.OpenReport "rptBerichtOhneDaten", _
         View:=acViewPreview, WhereCondition:="1=2"
End Sub

Der Aufruf führt zur Anzeige eines bis auf die Bezeichnungsfelder leeren Berichts (s. Bild 1). Das ist noch zu verschmerzen. Unangenehmer wird es, wenn diese “Blanko”-Variante des Be-richts unnötig ausgedruckt wird.

Ein Bericht ohne Daten zeigt nur die Spaltenüberschriften an.

Bild 1: Ein Bericht ohne Daten zeigt nur die Spaltenüberschriften an.

Leeren Bericht verhindern

Den Druck eines leeren Berichts und die Anzeige einer leeren Vorschau können Sie abfangen, indem Sie eine Prozedur für das Bei Ohne Daten-Ereignis des Berichts anlegen.

Diese soll eine Meldung anzeigen und die Ausgabe abbrechen:

Private Sub Report_NoData(Cancel As Integer)
     MsgBox "Der Bericht enthält keine Daten", _
         vbExclamation Or vbOKOnly, "Keine Daten"
     Cancel = True
End Sub

Der erste Teil des Plans funktioniert sogar – der Bericht wird gar nicht erst geöffnet, stattdessen erscheint die gewünschte Meldung (s. Bild 2).

Ist der Bericht leer, erscheint diese Meldung.

Bild 2: Ist der Bericht leer, erscheint diese Meldung.

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