Das Registersteuerelement in der Praxis

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Bereits ohne den Einsatz von VBA können Sie das Registersteuerelement prima nutzen, um die Steuerelemente eines Formulars platzsparend auf mehrere Registerseiten aufzuteilen. Aber erst VBA entfaltet die vollen Möglichkeiten dieses Steuerelements: Sie können damit programmgesteuert ermittelten, welche Registerseite gerade aktiv ist, diese automatisch einstellen oder sogar per VBA Registerseiten hinzufügen und entnehmen, wenn Sie dies nicht von Hand erledigen möchten.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1212_RegistersteuerelementPraxis.mdb.

Registersteuerelement programmieren

Bevor wir zu den Praxisbeispielen kommen, schauen wir uns an, wie Sie das Aussehen, das Verhalten und die Interaktion des Registersteuerelements per VBA beeinflussen können.

Aktuelle Seite abfragen

Wenn Sie für ein Registersteuerelement namens tab-BeispielVBA in einem Formular wie frmBeispiel-VBA aus Bild 1 die aktuell angezeigte Seite abfragen möchten, erledigen Sie dies etwa im Direktfenster mit folgender Anweisung:

Beispielregistersteuerelement

Bild 1: Beispielregistersteuerelement

Debug.Print Forms!frmBeispielVBA!tabBeispielVBA.Value
 0 

Ist die erste Seite aktiviert, liefert dies den Index der Seite, nämlich 0. Für die zweite Seite würde dies den Wert 1 liefern und so weiter. Da Value die Standardeigenschaft dieses Steuerelements ist, können Sie auch die Kurzform ohne Angabe der Eigenschaft verwenden:

Debug.Print Forms!frmBeispielVBA!tabBeispielVBA

Aktuelle Seite einstellen

Wenn Sie per VBA die aktuell sichtbare Registerseite einstellen möchten, gelingt dies auf ähnliche Weise, wie dieser Aufruf zeigt – ebenfalls testweise im Direktfenster abzusetzen:

Forms!frmBeispielVBA!tabBeispielVBA = 0

Damit aktivieren Sie die erste Registerseite, durch die Angabe anderer Werte die entsprechend indizierte Seite.

Informationen einer Seite ermitteln

Wenn Sie Informationen wie Name, Beschriftung et cetera einer bestimmten Seite des Registersteuerelements ermitteln möchten, können Sie dies mit der Pages-Auflistung erledigen. Damit greifen Sie über den Index oder den Namen der Registerseite auf alle enthaltenen Seiten zu.

Den Namen der ersten Registerseite erhalten Sie über das Direktfenster etwa so:

  Forms!frmBeispielVBA!tabBeispielVBA.Pages(0).Name
pge1

Die Beschriftung erhalten Sie auf ähnliche Weise:

 Forms!frmBeispielVBA!tabBeispielVBA.Pages(0).Caption

Die Beschriftung etwa der ersten Seite des Registersteuerelements stellen Sie wie folgt ein:

Forms!frmBeispielVBA!tabBeispielVBA.Pages(0)._
    Caption = "Seite 1"

Informationen zu allen Seiten, die sich aktuell im Registersteuerelement befinden, können Sie mit einer For Each-Schleife durchlaufen und ausgeben (diese Prozedur finden Sie im Beispielformular frmBeispielVBA):

Private Sub cmdAlleSeitennamen_Click()
     Dim pge As Page
     For Each pge In Me.tabBeispielVBA.Pages
         Debug.Print pge.Name
     Next pge
End Sub

Aktuelle Seite beim Klicken ausgeben

Wenn Sie beim Wechseln der Registerseite auswerten möchten, welche die aktuelle Seite ist, legen Sie dafür eine entsprechende Ereignisprozedur an. Aber für welches Ereignis Das Registersteuerelement liefert zwei, die dafür in Frage kommen könnten – Beim Klicken und Bei änderung.

Um herauszufinden, welches Ereignis beim Wechseln der Registerseite ausgelöst wird, legen Sie einfach für beide Ereigniseigenschaften den Wert [Ereignisprozedur] an und klicken je einmal auf die Schaltfläche mit den drei Punkten, um die entsprechende Ereignisprozedur anzulegen (siehe Bild 4).

Anlegen von Ereignisprozeduren für die Ereigniseigenschaften des Registersteuerelements

Bild 2: Anlegen von Ereignisprozeduren für die Ereigniseigenschaften des Registersteuerelements

Fügen Sie im VBA-Editor für beide Prozeduren einen Haltepunkt hinzu, indem Sie auf die graue Leiste links vom Code klicken (siehe Bild 2).

Ereignisprozeduren mit Haltepunkten

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar