Kapitel 29
Berichte für Fortgeschrittene
628
In diesem Kapitel möchten wir Ihnen weitere Möglichkeiten vorstellen, wie sich Berichte gestalten
lassen. Viele der im Folgenden verwendeten Beispiele enthalten Makros oder kleine, oft nur drei-
zeilige Programmteile, die durch ein bestimmtes Ereignis im Bericht ausgelöst werden.
Leere Berichte vermeiden
Rufen Sie einen Bericht auf, und die zugrunde liegende Abfrage liefert keine Daten zurück – bei-
spielsweise aufgrund der von Ihnen gewählten Einschränkungen – erhalten Sie einen leeren Bericht
angezeigt. Möchten Sie leere Berichte vermeiden, können Sie mithilfe eines Makros oder einer
kleinen Prozedur ein entsprechendes Dialogfeld anzeigen lassen, welches Ihnen mitteilt, dass es
keine Daten für den Bericht gibt.
Wie das funktioniert, möchten wir Ihnen an einem kleinen Beispiel zeigen: Im Folgenden soll ein
Bericht erstellt werden, der abhängig von der Kalenderwoche die aktuell laufenden Filme abfragt.
1. Beginnen Sie damit, einen Berichtsentwurf zu erstellen.
2. Legen Sie dann als Datensatzquelle des Berichts die in Abbildg. 29.1 dargestellt Parameter-
Abfrage fest, indem Sie im Feld hinter Datensatzquelle auf die Schaltfläche mit den drei Punkten
klicken.
3. Speichern und schließen Sie die Abfrage.
Abbildg. 29.1
Parameter-Abfrage für den Bericht
4.
Erzeugen Sie nun einen einfachen Bericht, der die gruppierte Kalenderwoche mit Kopfbereich
und die Filmtitel im Detailbereich enthält.
Leere Berichte vermeiden
629
Berichte
Abbildg. 29.2
Berichtsentwurf
Schalten Sie jetzt in die Seitenansicht um, erfolgt zunächst die Parameterabfrage:
Abbildg. 29.3
Abfrage der gewünschten Kalenderwoche
Wurde die Kalenderwoche richtig eingegeben, erscheint der gewünschte Bericht.
Abbildg. 29.4
Alle Filme der gewünschten Kalenderwoche
Kapitel 29
Berichte für Fortgeschrittene
630
Reaktion auf Falscheingabe per Makro
Geben Sie ein falsches Datum ein oder ein Datum, für das keine Daten existieren, wird Ihnen ein
leerer Bericht angezeigt. Dies soll im Folgenden mit einem Makro verhindert werden (siehe dazu
Abbildg. 29.5).
1. Aktivieren Sie das Eigenschaftenblatt zum Bericht und aktivieren Sie darin die Registerkarte
Ereignis. In der Liste finden Sie das Ereignis Bei Ohne Daten.
2. Klicken Sie auf die Schaltfläche mit den drei Punkten und wählen Sie Makro-Generator aus.
3. Verwenden Sie die Aktion Meldung und geben als Argument für Meldung den Text der
gewünschten Warnmeldung ein. Die Aktion Meldung erzeugt ein Dialogfeld mit dem ange-
gebenen Text. Zudem können Sie festlegen, ob ein Signalton ertönen soll, welches Zeichen
neben dem Text eingeblendet wird (Typ) und was in der Titelleiste des Dialogfeldes angezeigt
werden soll (Titel).
4. Danach können Sie mit der Aktion AbbrechenEreignis dafür sorgen, dass das Erstellen des
Berichts abgebrochen wird.
Abbildg. 29.5
Aufruf eines Dialogfeldes mit Fehlermeldung
Dieses Makro erzeugt bei der Falscheingabe des Datums folgende Fehlermeldung.
Abbildg. 29.6
Die mit der Funktion
MsgBox
erzeugte Fehlermeldung
Leere Berichte vermeiden
631
Berichte
Reaktion auf Falscheingabe per VBA
Möchten Sie per VBA auf die Falscheingabe des Datums reagieren, denken Sie zunächst erst einmal
daran, die Ausführung von VBA in der Sicherheits-Statuszeile oder im Vertrauensstellungscenter zu
erlauben.
1. Aktivieren Sie das Eigenschaftenfenster zum Bericht und aktivieren Sie darin die Registerkarte
Ereignis. In der Liste finden Sie das Ereignis Bei Ohne Daten.
2. Klicken Sie auf die Schaltfläche mit den drei Punkten und wählen Sie Code-Generator aus.
3. Ergänzen Sie die vorbereitete Prozedur um die beiden Zeilen, die Sie in Abbildg. 29.7 sehen.
Abbildg. 29.7
Aufruf eines Dialogfeldes mit Fehlermeldung
Die erste Zeile bewirkt, dass ein Meldungsdialogfeld (MsgBox = Messagebox) eingeblendet wird,
das den in Anführungszeichen angegebenen Text anzeigt.
Das Dialogfeld enthält außer dem Text standardmäßig eine OK-Schaltfläche. Klicken Sie auf diese
Schaltfläche, wird durch die zweite Zeile der Abbruch der Anzeige des Berichts bewirkt.
Abbildg. 29.8
Die mit der Funktion
MsgBox
erzeugte Fehlermeldung

Get Microsoft Office Access 2007 - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.