Applies ToAccess für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Sie können Access-Makros verwenden, um benutzerdefinierte Kontextmenüs zu erstellen, die angezeigt werden, wenn Sie mit der rechten Maustaste auf Formulare, Berichte oder einzelne Steuerelemente klicken. Sie können auch benutzerdefinierte Menüs erstellen, die im Menüband für bestimmte Formulare oder Berichte angezeigt werden.

Um ein Menü mithilfe von Makros zu erstellen, führen Sie drei Standard Schritte aus:

  1. Create ein Makroobjekt mit Untermakros, die die Menübefehle enthalten.

  2. Create ein weiteres Makroobjekt, das das Menü selbst erstellt.

  3. Fügen Sie das Menü an ein Steuerelement, ein Formular, einen Bericht oder die Datenbank als Ganzes an.

Die folgenden Abschnitte führen Sie ausführlich durch diese Schritte.

Tipp: Wenn Sie erfahren möchten, wie Sie benutzerdefinierte Kontextmenüs in Access mithilfe von VBA-Code (Visual Basic for Applications) erstellen, lesen Sie den Artikel Create ein Kontextmenü für ein Formular, ein Formularsteuerelement oder einen Bericht.

Schritt 1: Create ein Makroobjekt mit Untermakros, die die Menübefehle enthalten

In diesem Schritt erstellen Sie ein Makroobjekt mit Untermakros, von denen jedes Untermakro ein separater Befehl im Kontextmenü ist.

Was ist ein Untermakro?

Sie können ein Untermakro innerhalb eines Makroobjekts verwenden, um eine Reihe von Makroaktionen zu definieren. Submacros innerhalb eines Makroobjekts können getrennt von verschiedenen Steuerelement- und Objektereignissen aufgerufen werden. Die einzelnen Untermakros in einem Makroobjekt haben jeweils einen eindeutigen Namen und können eine oder mehrere Makroaktionen enthalten.

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Makro.

  2. Für jeden Befehl, den Sie in Ihrem benutzerdefinierten Kontextmenü verwenden möchten:

    1. Fügen Sie dem Makroentwurfsfenster eine Submakro-Anweisung hinzu, und geben Sie dem Untermakro den Namen, der im Kontextmenü angezeigt werden soll (z. B. "Drucken" oder "Aktualisieren").

      Tipp: Um eine Zugriffstaste zu erstellen, sodass Sie den Befehl über die Tastatur auswählen können, geben Sie vor dem Buchstaben, der die Zugriffstaste im Befehlsnamen sein soll, ein kaufmännisches und-zeichen (&) ein (z. B. "&Aktualisieren"). Dieser Buchstabe wird im Menü unterstrichen.

    2. Wählen Sie im Untermakro die erste Aktion aus, die ausgeführt werden soll, wenn Sie im Kontextmenü auf den Befehl klicken.

    3. Wenn sie weitere Aktionen ausführen möchten, wenn Sie diesen Befehl auswählen, fügen Sie diese als separate Makroaktionen innerhalb desselben Untermakros hinzu.

  3. Speichern Sie das Makroobjekt, und benennen Sie es, z. B. mcrShortcutMenuCommands.

    Die folgende Abbildung zeigt ein Beispiel-Makroobjekt mit drei Untermakros für ein benutzerdefiniertes Menü oder Kontextmenü.

    Screenshot des Access-Makroentwurfsfensters mit drei Untermakroanweisungen.

Schritt 2: Create eines zweiten Makroobjekts, das das Menü erstellt

Dieser Schritt mag redundant erscheinen, aber um das Kontextmenü aus dem Makroobjekt zu erstellen, das Sie in Schritt 1 erstellt haben, müssen Sie ein zweites Makroobjekt erstellen, das die HinzufügenMenü-Makroaktion enthält. Diese Makroaktion wird manchmal als "Menümakro" bezeichnet.

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Makro.

  2. Wählen Sie im Makroentwurfsfenster im Kombinationsfeld Neue Aktion hinzufügenDie Option HinzufügenMenü aus.

  3. Geben Sie im Feld Menüname-Argument für die Makroaktion HinzufügenMenü den Namen des Menüs ein (z. B. "Formularbefehle"). Dieses Argument ist nicht erforderlich, wird aber empfohlen, wenn Sie in Schritt 3 planen, das Menü einer Registerkarte des Menübands (z. B. der Registerkarte Add-Ins eines Formulars oder Berichts) hinzuzufügen. Wenn das Menü in Schritt 3 als Kontextmenü hinzugefügt wird, wird das Argument Menüname ignoriert.

  4. Geben Sie im Feld Name des Menümakroarguments den Namen des Makroobjekts ein, das Sie in Schritt 1 erstellt haben.

  5. Speichern Sie dieses zweite Makroobjekt, und benennen Sie es, z. B. mcrAddShortcutMenu.

    Die folgende Abbildung zeigt ein Beispiel für ein Menümakroobjekt, das das menü erstellt, das wir in Schritt 1 entworfen haben.

    Screenshot eines Access-Makroobjekts mit einer HinzufügenMenü-Makroaktion.

Schritt 3: Anfügen des Menüs an ein Steuerelement, ein Formular, einen Bericht oder eine Datenbank

Je nachdem, wo das Menü angezeigt werden soll, verwenden Sie eines oder mehrere der folgenden Verfahren.

Hinzufügen des Menüs zur Registerkarte Add-Ins eines Formulars oder Berichts

Verwenden Sie dieses Verfahren, wenn das Menü auf der Registerkarte Add-Ins für ein bestimmtes Formular oder einen bestimmten Bericht angezeigt werden soll.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, in dem das Menü angezeigt werden soll, und klicken Sie dann auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Eigenschaftenblatt.

  3. Wählen Sie das gesamte Objekt aus, indem Sie in der Liste oben im Aufgabenbereich Eigenschaftenblatt die Option Formular oder Bericht auswählen.

  4. Geben Sie auf der Registerkarte Andere des Eigenschaftenblatts im Eigenschaftenfeld Menüleiste den Namen des Makroobjekts ein, das Sie in Schritt 2 erstellt haben (in diesem Beispiel "mcrAddShortcutMenu").

  5. Speichern Sie Ihre Formular- oder Berichtsänderungen.

    Wenn Sie das formular oder den Bericht das nächste Mal öffnen, wird die Registerkarte Add-Ins im Menüband angezeigt. Klicken Sie auf die Registerkarte, um das Menü anzuzeigen, wie in der folgenden Abbildung gezeigt:

    Screenshot des Menübands für Add-Ins in Access

    Weitere Informationen zu Menübandanpassungstechniken, z. B. zum Hinzufügen benutzerdefinierter Registerkarten oder Ausblenden der Standardregisterkarten, finden Sie im Artikel Create eines benutzerdefinierten Menübands in Access.

Hinzufügen des Menüs als Kontextmenü für ein Formular, einen Bericht oder ein Steuerelement

Verwenden Sie dieses Verfahren, wenn das Menü angezeigt werden soll, wenn Sie mit der rechten Maustaste auf ein bestimmtes Formular, einen Bericht oder ein Bestimmtes Steuerelement klicken.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, in dem das Kontextmenü angezeigt werden soll, und klicken Sie dann auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Eigenschaftenblatt.

  3. Wählen Sie das Steuerelement oder Objekt aus, an das Bzw. das Sie das Kontextmenü anfügen möchten.

    Um das gesamte Objekt auszuwählen, wählen Sie in der Liste oben im Aufgabenbereich Eigenschaftenblatt die Option Formular oder Bericht aus.

  4. Geben Sie auf der Registerkarte Andere im Eigenschaftenblatt im Eigenschaftenfeld Kontextmenüleiste den Namen des Makroobjekts ein, das Sie in Schritt 2 erstellt haben (in diesem Beispiel "mcrAddShortcutMenu").

  5. Stellen Sie sicher, dass die Eigenschaft Kontextmenü auf Ja festgelegt ist.

  6. Speichern Sie Ihre Formular- oder Berichtsänderungen.

    Wenn Sie das nächste Mal das Formular oder den Bericht öffnen und dann mit der rechten Maustaste auf das Formular, den Bericht oder das Steuerelement klicken, wird Ihr Kontextmenü mit den zugehörigen Befehlen angezeigt, wie in der folgenden Abbildung dargestellt:

    Screenshot eines Kontextmenüs in einem Access-Formular

Hinzufügen des Menüs als globales Kontextmenü

Diese Prozedur ersetzt alle Standardverknüpfungsmenüs in der aktuellen Datenbank. Benutzerdefinierte Kontextmenüs, die Sie bestimmten Formularen, Berichten oder Steuerelementen angefügt haben, sind davon nicht betroffen.

  1. Klicken Sie auf Datei > Optionen.

  2. Klicken Sie im Dialogfeld Access-Optionen auf Aktuelle Datenbank.

  3. Geben Sie unter Menüband- und Symbolleistenoptionen im Feld Kontextmenüleiste den Namen des Makros ein, das Sie in Schritt 2 erstellt haben (in diesem Beispiel "mcrAddShortcutMenu").

  4. Klicken Sie auf OK , um die Änderungen im Dialogfeld Zugriffsoptionen zu speichern.

  5. Schließen Sie die Datenbank, und öffnen Sie sie dann erneut, damit die Änderungen wirksam werden.

Benutzerdefinierte Kontextmenüs ersetzen die Standardverknüpfungsmenüs für die Objekte, an die sie angefügt sind. Wenn Sie bestimmte Access-Befehle beibehalten möchten, die für diese Menüs verwendet werden sollen, verwenden Sie die Makroaktion AusführenBefehl , um die Befehle in den Makroobjekten für die Menüs zu platzieren, in denen sie angezeigt werden sollen.

Ein benutzerdefiniertes Kontextmenü, das an ein Steuerelement angefügt ist, ersetzt alle anderen benutzerdefinierten Kontextmenüs, die in der Datenbank definiert sind. Ein benutzerdefiniertes Kontextmenü, das an ein Formular oder einen Bericht angefügt ist, ersetzt ein benutzerdefiniertes globales Kontextmenü.

Wenn Sie ein Menümakro für ein Formular oder einen Bericht oder für die Datenbank angeben, führt Access dieses Menümakro aus, wenn das Formular, der Bericht oder die Datenbank geöffnet wird. Wenn Sie Änderungen am Menümakroobjekt oder am Makroobjekt vornehmen, das seine Befehle definiert, während das Formular, der Bericht oder die Datenbank geöffnet ist, müssen Sie das Formular, den Bericht oder die Datenbank schließen und erneut öffnen, um die Änderungen anzuzeigen.

Um ein Untermenü in einer Kontextmenüliste mit Befehlen zu erstellen, führen Sie Schritt 1 aus, um ein separates Makroobjekt zu erstellen, das nur die Untermenübefehle enthält, wie in der folgenden Abbildung gezeigt:

Screenshot eines Makros in Access mit zwei Untermakros

Führen Sie dann Schritt 1 erneut aus, um die Befehle für das Übergeordnete Menüobjekt zu definieren. Fügen Sie das Untermenü mithilfe der Makroaktion HinzufügenMenü als Element im Übergeordneten Makroobjekt hinzu. Die folgende Abbildung zeigt das Makroobjekt für ein Menü, das ein Untermenü enthält. Das dritte Untermakro in diesem Beispielmakroobjekt erstellt das Untermenü Exportieren nach... (mcrShortcutSubMenuCommands).

Screenshot eines Access-Makros mit vier Untermakros

Die folgende Abbildung zeigt das resultierende abgeschlossene Kontextmenü mit einem Untermenü:

Screenshot eines Kontextmenüs mit einem Untermenü

Sie können mehrere Ebenen von Untermenüs erstellen, indem Sie HinzufügenMenümakroaktionen in den Makroobjekten für jede Menüebene verwenden. Stellen Sie sicher, dass Sie für jede HinzufügenMenüaktion einen Wert für das Argument Menüname angeben. Andernfalls wird das Untermenü als leere Zeile im Menü der höheren Ebene angezeigt.

Makroausdrucksbedingungen mit If/Then/Else-Blöcken werden nur im Makroobjekt der obersten Ebene unterstützt. Anders ausgedrückt: Sie können einen Bedingungsausdruck in einem Menümakroobjekt verwenden, um zu bestimmen, ob ein bestimmtes Menü oder Kontextmenü angezeigt wird, aber nur für die Menüs auf der obersten Ebene. Sie können keine Bedingungsausdrücke verwenden, um Befehle oder Untermenüs in den Menüs anzuzeigen oder auszublenden. Sie können auch einen Bedingungsausdruck verwenden, um ein benutzerdefiniertes Kontextmenü oder ein globales Kontextmenü auszublenden oder anzuzeigen.

Optional kann das Menümakro, das Sie in Schritt 2 erstellen, Teil eines Makroobjekts sein. Wenn Sie beispielsweise über mehrere Kontextmenüs für verschiedene Objekte oder Steuerelemente verfügen, können Sie ein einzelnes Makroobjekt erstellen, das alle erforderlichen Menümakros enthält. Stellen Sie sicher, dass für jedes Untermakro ein eindeutiger Name vorhanden ist. Verwenden Sie in Schritt 3 die folgende Notation, um auf das Makro zu verweisen: MacroObjectName.SubmacroName. Beispiel: mcrAddShortcutMenus.AddMenu2.

Seitenanfang

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.