Aangepaste menu's en snelmenu's maken met macro's

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Met Access-macro's kunt u aangepaste snelmenu's maken die worden weergegeven wanneer u met de rechtermuisknop op formulieren, rapporten of afzonderlijke besturingselementen klikt. U kunt ook aangepaste menu's maken die op het lint worden weergegeven voor specifieke formulieren of rapporten.

Als u een menu wilt maken met behulp van macro's, moet u drie hoofdstappen uitvoeren:

  1. Maak een macroobject met submacro's die de menuopdrachten bevatten.
  2. Een ander macroobject maken waarmee het menu zelf wordt gemaakt.
  3. Het menu koppelen aan een besturingselement, een formulier, een rapport of aan de database als geheel.

In de volgende secties worden deze stappen in detail beschreven.

Tip

Zie het artikel Een snelmenu maken voor een formulier, formulierbesturingselement of rapport voor meer informatie over het maken van aangepaste snelmenu's in Access met VBA-code (Visual Basic for Applications).

Stap 1: Een macro-object maken met submacro's die de menuopdrachten bevatten

In deze stap maakt u een macro-object met submacro's, waarbij elke submacro een afzonderlijke opdracht is in het snelmenu.

Wat is een submacro?

U kunt een submacro binnen een macroobject gebruiken om een set macroacties te definiëren. Submacro's in een macroobject kunnen afzonderlijk van verschillende besturingselement- en objectgebeurtenissen worden aangeroepen. De afzonderlijke submacro's in een macroobject hebben elk een unieke naam en kunnen een of meer macroacties bevatten.

  1. Klik op het tabblad Maken in de groep Macro's en code op Macro.

  2. Voor elke opdracht die u in het aangepaste snelmenu wilt opnemen:

    1. Voeg een instructie voor de submacromacro toe aan het macro-ontwerpvenster en geef de submacro een naam die u in het snelmenu wilt weergeven (bijvoorbeeld 'Afdrukken' of 'Vernieuwen').

      Tip

      Als u een toegangstoets wilt maken zodat u de opdracht met het toetsenbord kunt kiezen, typt u een en-teken (&) voor de letter die u als toegangstoets in de naam van de opdracht wilt instellen (bijvoorbeeld &Vernieuwen). Deze letter wordt onderstreept in het menu.

    2. Selecteer in de submacro de eerste actie die u wilt laten plaatsvinden wanneer u op de opdracht in het snelmenu klikt.

    3. Als u meer acties wilt uitvoeren wanneer u deze opdracht selecteert, voegt u deze als afzonderlijke macroacties toe binnen dezelfde submacro.

  3. Sla het macro-object op en geef het een naam, bijvoorbeeld mcrShortcutMenuCommands.
    In de volgende afbeelding ziet u een voorbeeld van een macro-object met drie submacro's voor een aangepast menu of aangepast snelmenu.
    Schermafbeelding van het macro-ontwerpvenster van Access met drie submacro-instructies.

Stap 2: Een tweede macro-object maken waarmee het menu wordt gemaakt

Deze stap lijkt misschien overbodig, maar om het snelmenu te maken van het macro-object dat u in stap 1 hebt gemaakt, moet u een tweede macro-object maken dat de macroactie MenuToevoegen bevat. Deze macroactie wordt soms de 'menumacro' genoemd.

  1. Klik op het tabblad Maken in de groep Macro's en code op Macro.
  2. Selecteer Menu toevoegen in de keuzelijst Nieuwe actie toevoegen in het macro-ontwerpvenster.
  3. Typ in het argumentvak Menunaam voor de macroactie MenuToevoegen de naam van het menu (bijvoorbeeld Formulieropdrachten). Dit argument is niet vereist, maar wordt aanbevolen als u in stap 3 het menu wilt toevoegen aan een linttabblad (zoals het tabblad Invoegtoepassingen van een formulier of rapport). Als het menu in stap 3 als snelmenu wordt toegevoegd, wordt het argument Menunaam genegeerd.
  4. Typ in het argumentvak Menumacronaam de naam van het macroobject dat u in stap 1 hebt gemaakt.
  5. Sla dit tweede macro-object op en geef het een naam, bijvoorbeeld mcrAddShortcutMenu.
    In de volgende afbeelding ziet u een voorbeeld van een menumacro-object waarmee het menu wordt gemaakt dat we in stap 1 hebben ontworpen.
    Schermafbeelding van een Access-macroobject met een macroactie MenuToevoegen.

Stap 3: Het menu koppelen aan een besturingselement, formulier, rapport of database

Voer een of meer van de volgende procedures uit, afhankelijk van waar u het menu wilt weergeven.

Het menu toevoegen aan het tabblad Add-Ins van een formulier of rapport

Gebruik deze procedure als u het menu wilt weergeven op het tabblad Invoegtoepassingen voor een specifiek formulier of rapport.

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het formulier of rapport waarop u het menu wilt weergeven en klik vervolgens op Ontwerpweergave.
  2. Klik op het tabblad Ontwerp in de groep Extra op Eigenschappenvenster.
  3. Selecteer het hele object door Formulier of Rapport te selecteren in de lijst boven aan het taakvenster Eigenschappenvenster.
  4. Typ op het tabblad Overige van het eigenschappenvenster in het eigenschappenvak van de menubalk de naam van het macro-object dat u in stap 2 hebt gemaakt (in dit voorbeeld 'mcrAddShortcutMenu').
  5. Sla de wijzigingen in het formulier of rapport op.
    De volgende keer dat u het formulier of rapport opent, wordt het tabblad Invoegtoepassingen weergegeven op het lint. Klik op het tabblad om het menu te zien, zoals weergegeven in de volgende afbeelding:
    Schermafbeelding van het lint Invoegtoepassingen in Access
    Voor meer informatie over de technieken voor het aanpassen van het lint, zoals het toevoegen van aangepaste tabbladen of het verbergen van de standaardtabbladen, raadpleegt u het artikel Een aangepast lint maken in Access.

Het menu toevoegen als snelmenu voor een formulier, rapport of besturingselement

Gebruik deze procedure als u wilt dat het menu wordt weergegeven wanneer u met de rechtermuisknop op een bepaald formulier, rapport of besturingselement klikt.

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het formulier of rapport waar u het snelmenu wilt weergeven en klik vervolgens op Ontwerpweergave.
  2. Klik op het tabblad Ontwerp in de groep Extra op Eigenschappenvenster.
  3. Selecteer het besturingselement of object waaraan u het snelmenu wilt koppelen.
    Als u het hele object wilt selecteren, selecteert u Formulier of Rapport in de lijst boven aan het taakvenster Eigenschappenvenster.
  4. Typ op het tabblad Overige van het eigenschappenvenster, in het vak van de eigenschap Snelmenubalk , de naam van het macro-object dat u in stap 2 hebt gemaakt (in dit voorbeeld 'mcrAddShortcutMenu').
  5. Controleer of de eigenschap Snelmenu is ingesteld op Ja.
  6. Sla de wijzigingen in het formulier of rapport op.
    De volgende keer dat u het formulier of rapport opent en vervolgens met de rechtermuisknop op het formulier, rapport of besturingselement klikt, ziet u het snelmenu met de bijbehorende opdrachten, zoals in de volgende afbeelding:
    Schermafbeelding van een snelmenu in een Access-formulier

Het menu toevoegen als een globaal snelmenu

Deze procedure vervangt alle standaardsnelmenu's in de huidige database. Dit is niet van invloed op aangepaste snelmenu's die u hebt gekoppeld aan specifieke formulieren, rapporten of besturingselementen.

  1. Klik op Bestandsopties>.
  2. Klik in het dialoogvenster Opties voor Access op Huidige database.
  3. Typ onder Lint- en werkbalkopties in het vak Snelmenubalk de naam van de macro die u in stap 2 hebt gemaakt (in dit voorbeeld mcrAddShortcutMenu).
  4. Klik op OK in het dialoogvenster Opties voor Access om uw wijzigingen op te slaan.
  5. Sluit de database en open deze opnieuw om de wijzigingen door te voeren.

Aangepaste snelmenu's vervangen de standaardsnelmenu's voor de objecten waaraan ze zijn gekoppeld. Als u bepaalde Access-opdrachten voor deze menu's wilt behouden, gebruikt u de macroactie OpdrachtUitvoeren om de opdrachten in de macro-objecten te plaatsen voor de menu's waarin u ze wilt opnemen.

Een aangepast snelmenu dat is gekoppeld aan een besturingselement, vervangt alle andere aangepaste snelmenu's die zijn gedefinieerd in de database. Een aangepast snelmenu dat is gekoppeld aan een formulier of rapport, vervangt een aangepast globaal snelmenu.

Wanneer u een menumacro opgeeft voor een formulier of rapport of voor de database, wordt deze menumacro uitgevoerd telkens wanneer het formulier, rapport of database wordt geopend. Als u wijzigingen aanbrengt in het menumacro-object of het macro-object waarmee de opdrachten worden gedefinieerd terwijl het formulier, rapport of database is geopend, sluit u het formulier, rapport of database en opent u het opnieuw om de wijzigingen te zien.

Als u een submenu wilt maken van een snelmenulijst met opdrachten, volgt u stap 1 om een afzonderlijk macro-object te maken dat alleen de opdrachten in het submenu bevat, zoals wordt weergegeven in de volgende afbeelding:

Schermafbeelding van een macro in Access met twee submacro's

Voer vervolgens stap 1 opnieuw uit om de opdrachten voor het menuobject op het hogere niveau te definiëren. Voeg het submenu toe als een item in het macro-object op het hogere niveau met behulp van de macroactie MenuToevoegen . In de volgende afbeelding ziet u het macro-object voor een menu met een submenu. Met de derde submacro in dit voorbeeldmacro-object wordt het submenu Exporteren naar... (mcrShortcutSubMenuCommands) gemaakt.

Schermafbeelding van een Access-macro met vier submacro's

In de volgende afbeelding ziet u het resulterende, voltooide snelmenu met een submenu:

Schermafbeelding van een snelmenu met een submenu

U kunt meerdere niveaus met submenu's maken met behulp van macroacties MenuToevoegen in de macro-objecten voor elk niveau van het menu. Zorg ervoor dat u voor elke actie MenuToevoegen een waarde voor het argument Menunaam opgeeft, anders wordt het submenu weergegeven als een lege regel in het menu op het hogere niveau.

Voorwaarden voor macro-expressies die If/Then/Else-blokken gebruiken, worden alleen ondersteund in het macro-object van het hoofdmenu. U kunt dus een voorwaarde-expressie gebruiken in een menumacro-object om te bepalen of een bepaald menu of snelmenu wordt weergegeven, maar alleen voor de menu's op het hoogste niveau. U kunt geen voorwaardenexpressies gebruiken om opdrachten of submenu's in menu's weer te geven of te verbergen. U kunt ook een voorwaardenexpressie gebruiken om een aangepast snelmenu of globaal snelmenu te verbergen of weer te geven.

De menumacro die u in stap 2 hebt gemaakt, kan desgewenst deel uitmaken van een macro-object. Als u bijvoorbeeld meerdere snelmenu's voor verschillende objecten of besturingselementen hebt, kunt u één macro-object maken dat alle benodigde menumacro's bevat. Zorg dat u een unieke naam hebt voor elke submacro. In stap 3 gebruikt u de volgende notatie om naar de macro te verwijzen: MacroObjectName.SubmacroName. Bijvoorbeeld: mcrAddShortcutMenus.AddMenu2.

Naar boven