Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.
Berichtsereignisse – Grundlagen
Neben den verschiedenen Bereichen und Steuerelementen liefern Berichte auch eine Reihe von Ereigniseigenschaften, für die Sie wie bei Formularen Ereignisprozeduren hinterlegen können. Die Ereignisse werden zwar weniger durch Benutzerinteraktion ausgelöst als eher durch die Abfolge von Aktionen beim Zusammenstellen der benötigten Daten und beim Rendern des Berichts, aber dennoch ist es wichtig, die verschiedenen Ereignisse zu kennen.
Ereignisse in ?Berichten
Berichte bieten bereits seit Access 2007 erheblich mehr Ereignisse für Berichte als in den Vorgängerversionen – und fast so viele wie für Formulare. Die Möglichkeiten der Interaktion sind um einiges besser geworden; so können Sie etwa auf einen Datensatz in einem Bericht klicken, um ein Formular mit den Details zum Bearbeiten zu öffnen.
Diese Ereignisse beziehen sich aber alle auf eine mit Access 2007 eingeführte Darstellungsart, nämlich die Berichtsansicht. Mehr zu dieser neuen interaktiven Ansicht finden Sie in einem weiteren Beitrag.
Bis ein Bericht überhaupt einmal angezeigt ist, geschieht allerdings schon eine Menge und in vielen Fällen können Sie den Ablauf per Ereignisprozedur beeinflussen. Nachfolgend finden Sie zunächst eine Auflistung der Ereignisse eines Berichts und der Bereiche eines Berichts; im Anschluss lernen Sie einige Anwendungsfälle der Ereignisse kennen.
Zusammenfassung der Berichtsereignisse
Der Bericht löst folgende Ereignisse aus, die in den bisherigen Access-Versionen ebenfalls unterstützt wurden und die für die reine Anzeige eines Berichts wichtig sind:
- Beim Öffnen: Wird beim Öffnen, aber vor dem Erstellen des Berichts ausgelöst. Dient beispielsweise der Übergabe von Parametern oder zum Abbrechen der Ausgabe des Berichts.
- Bei Aktivierung: Bericht wird aktiviert oder gedruckt.
- Bei Seite: Wird nach Abschluss der Bei Formatierung- und der Beim Drucken-Ereignisse der Berichtsbereiche, aber vor dem Anzeigen der Seite ausgelöst.
- Beim Schließen: Wird ?beim Schließen des Berichts ausgelöst – etwa durch Betätigen der Schließen-Schaltfläche.
- Bei Deaktivierung: Bericht wird deaktiviert, da ein anderes Objekt den Fokus erhält oder der Bericht geschlossen wird.
- Bei Ohne Daten: Wird ausgelöst, wenn die Datensatzquelle des Berichts keine Daten enthält.
- Bei Fehler: Wird beim Auftreten eines Fehlers ausgelöst.
Zusammenfassung der Bereichsereignisse
Die Bereiche Berichtskopf, Berichtsfuß, Seitenkopf, Seitenfuß, Kopf und Fuß der einzelnen Gruppierungen und der Detailbereiche lösen ebenfalls Ereignisse aus.
Dabei werden die Ereignisse Beim Formatieren und Beim Drucken je Element eines jeden Bereichs mindestens einmal aufgerufen:
- Beim Formatieren: Wird ausgelöst, wenn die Daten ermittelt sind, bevor der Bereich formatiert wird. Dieses Ereignis wird gegebenenfalls mehrere Male ausgelöst. Wenn es sich beim aktuell formatierten Bereich um einen Gruppenkopf handelt, haben Sie Zugriff auf die im Gruppenkopf angezeigten Daten und auf die Daten des ersten Datensatzes der Gruppierung im Detailbereich. Beim Gruppenfuß stehen die Daten des Gruppenfußbereichs und des letzten Datensatzes des Bereichs zur Verfügung. Im Detailbereich bietet dieses Ereignis Zugriff auf die Daten des aktuellen Datensatzes.
- Beim Drucken: Wird ausgelöst, wenn der Bereich formatiert, aber noch nicht gerendert ist. In diesem Ereignis können Sie je Bereich auf die gleichen Daten zugreifen wie im Beim Formatieren-Ereignis. Mit »Drucken« ist hier nicht die Ausgabe auf Papier gemeint, sondern die grafische Ausgabe in das »Dokument«, das dann auf dem Bildschirm oder auf Papier dargestellt werden kann.
- Bei Rückname: Wird jedes Mal ausgelöst, wenn Access einen Bereich infolge Positionierungsberechnungen neu formatieren muss (steht nicht für den Seitenkopf zur Verfügung).
Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.