Das Navigationssteuerelement

Mit Access 2010 hat Microsoft das Navigationssteuerelement eingeführt. Es erlaubt die Anzeige mehrerer Unterformulare, die durch entsprechende Schaltflächen aktiviert werden können. Die Schaltflächen können verschachtelt und sowohl horizontal als auch vertikal angeordnet werden. In diesem Beitrag zeigen wir, wie Sie dieses Steuerelement verwenden und programmieren.

Das Navigationssteuerelement ist vorrangig für den Einsatz in und die Steuerung von Webdatenbanken vorgesehen. Sie können es jedoch auch in Desktop-Anwendungen einsetzen – es bietet eine sinnvolle Variante, einfache Anwendungen komplett über die entsprechenden Navigationssteuerelemente zu steuern. Auf diese Weise brauchen Sie gegebenenfalls nur ein einziges Hauptformular zu definieren, mit dem Sie dann die übrigen Formulare als Unterformular anzeigen. Und da Webdatenbanken natürlich auch Berichte anzeigen sollen, kann das Navigationssteuerelement auch Berichte in seinem Unterformular-Steuerelement ausgeben.

Navigationssteuerelement hinzufügen

Ein Navigationssteuerelement fügen Sie über den Ribbon-Eintrag Entwurf|Steuerelemente|Navigationssteuerelement hinzu (s. Bild 2. Ein wenig Spielerei mit der Maus und der Entfernen-Taste zeigt, dass sich das Feld mit dem Text [Neues Element], der obere Teil und der untere Teil des so hinzugefügten Konstrukts markieren lassen. Die Beschriftung befindet sich in einem Navigationsschaltfläche-Element, das keinerlei über die Benutzeroberfläche einstellbare Eigenschaften aufweist. Der obere Bereich mit diesem Element ist laut Eigenschaftsfenster das eigentliche Navigationssteuerelement, der untere Bereich ist als Unterformular/-bericht gekennzeichnet.

pic001.png

Bild 1: Hinzufügen eines Navigationssteuerelements

pic002.png

Bild 2: Ein frisch erzeugtes Navigationssteuerelement

Wenn Sie das Navigationssteuerelement löschen, verschwindet das komplette Konstrukt, wenn Sie das Unterformular löschen, verschwinden ebenfalls alle Elemente, aber es verbleibt ein gestrichelter Rahmen.

Um zu untersuchen, mit welcher Art von Steuerelementen wir es hier zu tun haben, verwenden wir im Folgenden eine kleine Prozedur wie diese hier:

Public Sub FormularAnalysieren(strForm As String)
    Dim frm As Form
    Dim ctl As Control
    DoCmd.OpenForm strForm
    Set frm = Forms(strForm)
    For Each ctl In frm.Controls
         Debug.Print ctl.Name, TypeName(ctl)
    Next ctl
End Sub

Der Aufruf erfolgt etwa mit folgender Funktion:

Public Sub NavigationssteuerelementAnalysieren()
FormularAnalysieren "frmNavigationssteuerelement"
End Sub

Die Prozedur öffnet das Formular (hier frmNavigationssteuerelement) und durchläuft alle enthaltenen Steuerelemente. Dabei gibt es die Namen und die Steuerelementtypen aller enthaltenen Steuerelemente aus. Für ein frisch angelegtes Navigationssteuerelement liefert die Prozedur beispielsweise diese Ausgabe:

NavigationControl7 NavigationControl
NavigationButton8 NavigationButton
Navigationsunterformular SubForm

Wenn Sie das Unterformular entfernen, sodass nur noch die gestrichelten Linien wie in Bild 3 übrig bleiben, liefert die Prozedur dieses Ergebnis:

pic003.png

Bild 3: Navigationssteuerelement nach dem Löschen des Unterformulars

EmptyCell26 EmptyCell
EmptyCell27 EmptyCell

Dies sind ähnliche Steuerelemente, wie sie bereits bei Verwendung der Gestapelt– oder Tabelle-Layouts ab Access 2007 verwendet werden.

Layout entfernen

Wenn sich die Elemente des Navigationssteuerelements nun schon in einem Layout befinden (was übrigens auch das Plus-Zeichen oben links bei aktiviertem Navigationssteuerelement zeigt), können Sie den Layout-Rahmen doch sicher auch entfernen. Und genauso ist es: Markieren Sie den Layout-Rahmen durch einen Klick auf das Plus-Zeichen und wählen Sie den Ribbon-Eintrag Anordnen|Tabelle|Layout entfernen aus, und schon können Sie das Navigationssteuerelement und das Unterformularsteuerelement frei positionieren – zum Beispiel, indem Sie die Positionen vertauschen oder einen Abstand zwischen den Steuerelementen einfügen (s. Bild 4).

pic006.png

Bild 4: Getrennte Elemente des Navigationssteuerelements

Navigationssteuerelement bestücken

Wenn Sie nun anstelle des Texts [Neues hinzufügen] einen beliebigen anderen Text eintragen, wird es interessant: Access legt eine farbig hinterlegte Schaltfläche an und verschiebt den Eintrag [Neues hinzufügen] nach rechts.

Außerdem zeigt das Eigenschaftsfenster nun auch einige Eigenschaften für das neu hinzugefügte Steuerelement an (s. Bild 5). Und hier wird es interessant: Unter Daten finden sich nämlich nun die beiden Eigenschaften Name des Navigationsziels und WHERE-Klausel für Navigation. Mit der ersten Eigenschaft können Sie das Formular oder den Bericht benennen, der beim Anklicken der Schaltfläche angezeigt werden soll, mit der zweiten die angezeigten Daten filtern.

pic005.png

Bild 5: Anlegen eines ersten Eintrags im Navigationssteuerelement

Wenn Sie nun ein Formular namens frmArtikel auf Basis der Tabelle tblArtikel anlegen und der Eigenschaft Name des Navigationsziels den Eintrag frmArtikel hinzufügen, zeigt das Unterformular beim Anklicken der Schaltfläche das angegebene Formular als Unterformular an. Das geht auch noch schneller: Sie brauchen nämlich nur den Namen des anzuzeigenden Formulars oder Berichts statt des Wertes [Neues hinzufügen] anzugeben. Access füllt die Eigenschaft Name des Navigationsziels dann automatisch mit diesem Formular.

Unterformular filtern

Sie können in einem Unterformular-Steuerelement immer das gleiche Unterformular anzeigen und dieses nach verschiedenen Datensätzen filtern. Wenn Sie etwa bei einem Mausklick auf eine Navigationsschaltfläche mit dem Titel Artikel 1 den Artikel mit dem Wert 1 im Feld ArtikelID anzeigen möchten, stellen Sie die Eigenschaft WHERE-Klausel für Navigation auf den Wert ArtikelID = 1 ein. Fügen Sie eine weitere Schaltfläche hinzu, welche als Bezeichnung den Ausdruck Artikel 2, als Name des Navigationsziels ebenfalls frmArtikel und unter WHERE-Klausel für Navigation den Text ArtikelID = 2 enthält. Das entsprechende Beispiel können Sie in der Beispieldatenbank unter frmVerschiedeneArtikel einsehen (s. Bild 6).

pic007.png

Bild 6: Anzeige verschiedener Datensätze im gleichen Unterformular

Ausrichtung des Navigationssteuerelements

Als Nächstes werfen wir einen Blick auf die Eigenschaften des Navigationssteuerelements. Dort findet sich nur eine Eigenschaft, die nicht auch in herkömmlichen Steuerelementen vorkommt. Sie heißt Bereich und legt fest, ob die Navigationsleiste horizontal oder vertikal angezeigt werden soll (s. Bild 7).

pic004.png

Bild 7: Die Eigenschaft zum Einstellen der Ausrichtung der Navigationsleiste

Eine änderung in einem bestehenden horizontal ausgerichteten Navigationssteuerelement bringt allerdings nicht das erwartete Resultet: Die Navigationsleiste wird nicht etwa links vom Unterformular-Steuerelement angebracht, sondern lediglich in sich umsortiert (s. Bild 8).

pic008.png

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

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar