Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Menüs, Symbolleisten und Kontextmenüs in Access 2007 ohne VBA

Es ist ein verbreiteter Irrglaube, dass man in Access 2007 keine Menü- und Symbolleisten sowie Kontextmenüs erstellen kann. Das geht sehr wohl - und zwar per VBA. Damit Sie sich aber nicht in die Welt der CommandBar-Objekte einarbeiten müssen (was nur in speziellen Fällen unumgänglich ist), lesen Sie hier, wie es auch einfacher geht.

Menüs in Access 2007

Generell braucht man, wenn man das Ribbon verwendet, keine Menü- und Symbolleisten mehr in Access 2007. Das Ribbon deckt aber nicht den dritten Menütyp ab: das Kontextmenü. Diese erscheinen immer, wenn man mit der rechten Maustaste auf Elemente der Benutzeroberfläche klickt.

Leider sieht Access 2007 keinen grafischen Editor für deren Erstellung vor, weshalb man dies üblicherweise per VBA erledigt. Dies ist aber nicht unbedingt erforderlich: Genaugenommen müssen Sie dabei nur mit VBA arbeiten, wenn Sie Kontextmenüeinträge zur Laufzeit anpassen müssen, um beispielsweise einzelne Einträge zu aktivieren oder deaktivieren.

Das Werkzeug zum Erstellen von Kontextmenüs dürfte jeder ordentliche Access-Entwickler besitzen - es handelt sich dabei schlicht und einfach um eine der Vorgängerversionen von Access (also bis 2003). Sie können die Kontextmenüs dabei ganz einfach über den Anpassen-Dialog erstellen, was in der Kurzfassung so geschieht:

  1. Wählen Sie den Anpassen-Eintrag aus dem Kontextmenü der Menü- oder einer Symbolleiste aus.
  2. Klicken Sie auf Neu und geben Sie den Namen der neuen Symbolleiste ein.
  3. Bestücken Sie die so erstellte Symbolleiste mit den gewünschten Befehlen (für benutzerdefinierte Befehle: Registerreiter Befehle, Kategorien: Datei, Befehle: Benutzerdefiniert).
  4. Wechseln Sie zur Registerseite Symbolleisten und klicken Sie bei ausgewählter neuer Symbolleiste auf die Schaltfläche Eigenschaften.
  5. Wählen Sie für die Eigenschaft Typ den Eintrag Popup aus.

Die Kontextmenüleiste ist fertig! Sie können diese nun etwa im Start-Dialog (Extras/Start) für die Eigenschaft Kontextmenüleiste auswählen.

Kontextmenüleiste importieren

Und nun kommt der Clou: Schließen Sie die .mdb-Datei, die Sie mit einer älteren Version von Access erstellt haben, und öffnen Sie Access 2007. Betätigen Sie dort den Ribbon-Befehl Externe Daten/Importieren/Access und wählen Sie die soeben erstellte .mdb-Datei aus. Der wichtigste Schritt ist, dass Sie im Dialog Objekte importieren auf Optionen>> klicken und nur die Option Menüs und Symbolleisten aktivieren.

Abbildung 1: Mit diesen Einstellungen importieren Sie nur die Menüs und Symbolleisten.

Anschließend können Sie die neu importierte Kontextmenüleiste sowohl in den Einstellungen der Datenbank (Access-Optionen/Aktuelle Datenbank/Multifunktions- und Symbolleistenoptionen/Kontextmenüleiste) als auch für die Eigenschaft Kontextmenüleiste von Formularen, Berichten und Steuerelementen auswählen.

Menüs in .accdb-Datenbanken

Prinzipiell sind in .accdb-Datenbanken auch die Menü- und Symbolleisten der früheren Versionen enthalten. Um dies zu testen, probieren Sie einfach einmal die folgende Routine aus (Verweis auf Microsoft Office 12.0 Object Library nicht vergessen):

Public Sub MenuesInACCDB()

    Dim cbr As CommandBar

    For Each cbr In Application.CommandBars

        Debug.Print cbr.Name

    Next cbr

End Sub

Vermutlich werden all diese Informationen vorgehalten, um beispielsweise eingebaute Befehle vorzuhalten - in der Tat funktioniert genau dies: Wenn Sie ein Kontextmenü in Access (Version < 2007) etwa mit der Drucken-Schaltfläche füllen, wird diese beim Import 1:1 in die .accdb-Datei übernommen.

© 2003-2015 André Minhorst Alle Rechte vorbehalten.