Berichtsereignisse: Bei Aktivierung/Deaktivierung

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: Bei Aktivierung/Deaktivierung

Neben den verschiedenen Bereichen und Steuerelementen liefern Berichte auch eine Reihe von Ereigniseigenschaften, für die Sie wie bei Formularen Ereignisprozeduren hinterlegen können. Zwei Ereignisse, die man üblicherweise nicht besonders oft benötigt, heißen »Bei Aktivierung« und »Bei Deaktivierung«. Wir zeigen, wie Sie diese einsetzen können: nämlich, um Elemente im Ribbon abhängig von diesen beiden Ereignissen zu aktivieren oder zu deaktivieren – zum Beispiel zum Ein- oder Ausschalten einer Drucken-Schaltfläche.

Bei ?Aktivierung und ?Bei ?Deaktivierung: Berichtsabhängige Funktionen ein- und ausschalten

Wenn Sie einen Bericht geöffnet haben und diesen dann schließen oder den Fokus auf ein anderes Objekt setzen, möchten Sie möglicherweise Elemente des Ribbons aktivieren oder deaktivieren. Eine Drucken-Schaltfläche macht beispielsweise am meisten Sinn, wenn gerade ein Bericht angezeigt wird. Was benötigen wir also, um das geplante Beispiel zum Aktivieren und Deaktivieren einer Ribbon-Schaltfläche synchron zum Auslösen der Ereignisse Bei Aktivierung und Bei Deaktivierung zu nutzen?

Richtig: Ein Ribbon, ein Objekt, welches die Ribbon-Definition referenziert, damit wir auf ihre Methoden zugreifen können, sowie ein paar Zeilen VBA-Code.

Das Ribbon fügen Sie hinzu, indem Sie die Tabelle USysRibbons erstellen und diese wie in Bild 1 mit der Definition des gewünschten Ribbons füllen. Damit Sie diese Tabelle nach der Erstellung sehen, müssen Sie in den Optionen des Navigationsbereichs die Option Systemobjekte anzeigen aktivieren.

Tabelle mit der Ribbon-Definition

Bild 1: Tabelle mit der Ribbon-Definition

Die entsprechende Ribbon-Definition finden Sie in Listing 1. Die Elemente bilden die Struktur des Ribbons ab. Unter dem customUI-Element finden Sie das tab-Element, dann das group-Element und schließlich das button-Element als Schaltfläche. Wichtig sind in diesem Zusammenhang einige Attribute, die festlegen, welche VBA-Routinen beim Eintreten bestimmter Ereignisse auszulösen sind.

<?xml version="1.0"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
    onLoad="OnLoad_Main" loadImage="loadImage">
     <ribbon>
         <tabs>
             <tab id="tabFunktionen" label="Funktionen">
                 <group id="grpBerichte" label="Berichte">
                     <button image="printer" getEnabled="getEnabled" label="Drucken" id="btnDrucken" 
                         onAction="onAction" size="large"/>
                 </group>
             </tab>
         </tabs>
     </ribbon>
</customUI>

Listing 1: Ribbon-Definition für unsere Drucken-Schaltfläche

Das erste ist das Attribut onLoad, welches die folgende Prozedur auslöst, die Sie in ein Standardmodul namens mdlRibbons einfügen:

Sub onLoad_Main(ribbon As IRibbonUI)
     Set objRibbon_Main = ribbon
End Sub

Die Prozedur weist der Variablen objRibbon_Main einen Verweis auf diese Ribbon-Definition zu. Diese Variable deklarieren wir wie folgt im Kopf des gleichen Moduls:

Public objRibbon_Main As IRibbonUI

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]