HINWEIS
BEISPIEL
Kapitel 4: Berichte
Auch für Steuerelemente können Sie die Section-Eigenschaft verwenden, um zu ermitteln, in welchem Bereich
eines Formulars oder Berichts sich das Steuerelement befindet.
Die Variable
i
wird auf den Wert 2 gesetzt, falls sich das Textfeld
Text30
im Berichtsfußbereich (oder Formu-
larfußbereich) befindet.
Dim i As Integer
i = Me!Text30.Section
Berichtsereignisse
Obwohl das eigentliche Medium eines Berichts das Papier und nicht der Bildschirm ist, gibt es seit Access
2007 bezüglich der Anzahl der Ereignisse (Events) kaum noch Unterschiede zwischen Report und For-
mular
1
.
Allgemeine Ereignisse
Die folgende Tabelle zeigt wichtige Report-Ereignisse:
Ereignisroutine (Event-Handler) Ereigniseigenschaft (deutsch)
Open(Cancel As Integer) Beim Öffnen
Close() Beim Schließen
Activate() Bei Aktivierung
Deactivate() Bei Deaktivierung
NoData(Cancel As Integer) Bei Ohne Daten
Page() Bei Seite
Error(DataErr As Integer, Response As Integer) Bei Fehler
ApplyFilter Bei angewendetem Filter (neu in Access 2007)
Filter Bei Filter
Load Bei Laden
Unload Bei Entladen
GotFocus Bei Fokuserhalt
LostFocus Bei Fokusverlust
Resize Bei Größenänderung
Timer Bei Zeitgeber
Tabelle 4.13 Wichtige Formularereignisse beim Report-Objekt
1
Das betrifft vor allem die Preview- und die Layout-Ansicht des Reports.
202
BEISPIEL
Detailbereich, Kopf- und Fußzeile für die Seite bzw. für einen Bericht haben andere Ereignisse:
Ereignisroutine (Event-Handler) Ereigniseigenschaft (deutsch)
Retreat() Bei Rücknahme (nur Detailbereich und Berichtskopf/-fuß)
Print(Cancel As Integer, PrintCount As Integer) Beim Drucken
Format(Cancel As Integer, FormatCount As Integer) Beim Formatieren
Paint Beim Anzeigen (neu in Access 2007)
Tabelle 4.14 Wichtige Ereignisse bei Report-Bereichen
Open, Close, Activate, Deactivate, Error
Diese Ereignisse sind äquivalent zu den gleichnamigen Formular-Ereignissen. Dies betrifft auch die Reihen-
folge, in der sie auftreten (siehe Kapitel 3).
Page, NoData, Print, Format
Das Page-Ereignis wird ausgelöst, nachdem Access die Seite eines Berichts zum Drucken formatiert hat, je-
doch bevor die Seite gedruckt wird. Dieses Ereignis wird verwendet, um einen Rahmen für die Seite zu er-
stellen oder um der Seite andere grafische Elemente hinzuzufügen.
Das NoData-Ereignis wird vor dem erstmaligen Auftreten des Page-Events ausgelöst. Es tritt ein, nachdem
Microsoft Access einen Bericht zum Drucken formatiert hat, der keine Daten enthält (leere Datensatzgrup-
pe), aber bevor der Bericht gedruckt wird. Man verwendet dieses Ereignis um zu verhindern, dass ein
leerer Bericht gedruckt wird.
Das Print-Ereignis tritt auf, wenn Daten in einem Berichtsbereich zum Drucken formatiert werden, jedoch
bevor der Bereich gedruckt wird. Bei Detailbereichen wird Print für jeden Datensatz im Bereich ausgelöst,
unmittelbar bevor die Daten gedruckt werden. In Gruppenköpfen/-füßen tritt Print bei jeder neuen Gruppe
auf. Hier könnten Sie z.B. Seitensummen berechnen, die in die Kopf- oder Fußzeile gedruckt werden.
Das Format-Ereignis wird ausgelöst, wenn Access die Daten ermittelt, die in einen Berichtsbereich gehören,
jedoch bevor der Bereich für die Vorschau oder für das Drucken formatiert wird. Das Format-Ereignis ver-
wenden Sie auch bei Änderungen, die das Seitenlayout betreffen, wie z.B. das Ein-/Ausblenden von Steuer-
elementen oder wenn Sie auf Daten aus Bereichen zugreifen müssen, die nicht gedruckt werden (z.B. wenn
Sie eine fortlaufende Summe berechnen, aber nur einzelne Seiten des Berichts drucken wollen).
Das aktuelle Datum wird fett formatiert an den durch
CurrentX
und
CurrentY
festgelegten Koordinaten aus-
gegeben:
Sub ReportHeader0_Print (Cancel As Integer, PrintCount As Integer)
Me.FontBold = True
Me.Print Date()
End Sub
203
Berichtsereignisse

Get Microsoft Office Access 2007-Programmierung - 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.