Skapa egna menyer och snabbmenyer med hjälp av makron

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan använda Access-makron för att skapa anpassade snabbmenyer som visas när du högerklickar på formulär, rapporter eller enskilda kontroller. Du kan också skapa anpassade menyer som visas i menyfliksområdet för specifika formulär eller rapporter.

Om du vill skapa en meny med hjälp av makron utför du huvudsakligen tre steg:

  1. Skapa ett makroobjekt med delmakron som innehåller menykommandona.
  2. Skapa ett annat makroobjekt som skapar själva menyn.
  3. Koppla menyn till en kontroll, ett formulär, en rapport eller till hela databasen.

I följande avsnitt går vi igenom de här stegen i detalj.

Tips

Om du vill veta mer om hur du skapar anpassade snabbmenyer i Access med VBA-kod (Visual Basic for Applications) kan du läsa artikeln Skapa en snabbmeny för ett formulär, en formulärkontroll eller en rapport.

Steg 1: Skapa ett makroobjekt med delmakron som innehåller menykommandona

I det här steget skapar du ett makroobjekt med delmakron, där varje delmakro blir ett separat kommando på snabbmenyn.

Vad är ett delmakro?

Du kan använda ett delmakro i ett makroobjekt för att definiera en uppsättning makroåtgärder. Delmakron inom ett makroobjekt kan anropas separat från olika kontroll- och objekthändelser. De enskilda delmakrona i ett makroobjekt har unika namn och kan innehålla en eller flera makroåtgärder.

  1. Gå till fliken Skapa, i gruppen Makron och kod, och klicka på Makro.

  2. Gör så här för varje kommando på den anpassade snabbmenyn:

    1. Lägg till en sats för delmakro i fönstret för makrodesign och ge delmakrot namnet vad du vill visa på snabbmenyn (till exempel "Skriv ut" eller "Uppdatera").

      Tips

      Om du vill skapa en snabbtangent så att du kan använda tangentbordet för att välja kommandot skriver du ett et-tecken (&) före den bokstav som du vill ska vara åtkomsttangent i kommandonamnet (till exempel "&uppdatera"). Denna bokstav kommer att strykas under på menyn.

    2. I delmakrot väljer du den första åtgärd som du vill ska utföras när du klickar på kommandot på snabbmenyn.

    3. Om det finns fler åtgärder som du vill ska utföras när du väljer det här kommandot lägger du till dem som separata makroåtgärder inom samma delmakro.

  3. Spara och namnge makroobjektet, till exempel mcrShortcutMenuCommands.
    I bilden nedan visas ett exempel på ett makroobjekt med tre delmakron för en egen meny eller snabbmeny.
    Skärmbild av fönstret för makrodesign i Access med tre undermakrosatser.

Steg 2: Skapa ett andra makroobjekt som skapar menyn

Det här steget kan verka överflödigt, men för att skapa snabbmenyn från makroobjektet som du skapade i steg 1 måste du skapa ett andra makroobjekt som innehåller makroinstruktionen NyMeny. Den här makroinstruktionen kallas ibland för "menymakrot".

  1. Gå till fliken Skapa, i gruppen Makron och kod, och klicka på Makro.
  2. I kombinationsrutan Lägg till ny instruktion i fönstret för makrodesign väljer du NyMeny.
  3. I argumentrutan Menynamn för makroinstruktionen NyMeny skriver du namnet på menyn (till exempel "Formulärkommandon"). Det här argumentet är inte obligatoriskt men rekommenderas om du i steg 3 planerar att lägga till menyn på en menyflik (till exempel fliken Tillägg för ett formulär eller en rapport). Om menyn läggs till som en snabbmeny i steg 3 ignoreras argumentet Menynamn .
  4. I argumentrutan Menymakronamn anger du namnet på makroobjektet som du skapade i steg 1.
  5. Spara och namnge det andra makroobjektet, till exempel mcrAddShortcutMenu.
    I bilden nedan visas ett exempel på ett menymakroobjekt som skapar den meny vi utformade i steg 1.
    Skärmbild av ett Access-makroobjekt med makroinstruktionen NyMeny.

Steg 3: Bifoga menyn till en kontroll, ett formulär, en rapport eller en databas

Beroende på var du vill att menyn ska visas använder du en eller flera av följande procedurer.

Lägga till menyn på fliken Add-Ins i ett formulär eller en rapport

Använd följande procedur om du vill att menyn ska visas på fliken Tillägg för ett visst formulär eller en viss rapport.

  1. Högerklicka i navigeringsfönstret på det formulär eller den rapport där du vill att menyn ska visas. Klicka sedan på Designvy.
  2. Klicka på Egenskapssida i gruppen Verktyg på fliken Design.
  3. Markera hela objektet genom att välja Formulär eller Rapport i listan överst i åtgärdsfönstret Egenskapssida.
  4. På fliken Övrig på egenskapssidan, i egenskapsrutan Menyrad , skriver du namnet på makroobjektet som du skapade i Steg 2 (i det här exemplet "mcrAddShortcutMenu").
  5. Spara ändringarna i formuläret eller rapporten.
    Nästa gång du öppnar formuläret eller rapporten visas fliken Tillägg i menyfliksområdet. Klicka på fliken för att visa menyn, som visas i följande bild:
    Skärmbild av menyfliksområdet tillägg i Access
    Mer information om olika tekniker för att anpassa menyfliksområdet, till exempel att lägga till anpassade flikar eller dölja standardflikarna, finns i artikeln Skapa ett anpassat menyfliksområde i Access.

Lägga till menyn som en snabbmeny för ett formulär, en rapport eller en kontroll

Använd den här proceduren om du vill att menyn ska visas när du högerklickar på ett visst formulär, en viss rapport eller kontroll.

  1. Högerklicka i navigeringsfönstret på det formulär eller den rapport där du vill att snabbmenyn ska visas. Klicka sedan på Designvy.
  2. Klicka på Egenskapssida i gruppen Verktyg på fliken Design.
  3. Markera kontrollen eller objektet som du vill bifoga snabbmenyn till.
    Om du vill markera hela objektet väljer du Formulär eller Rapport i listan överst i åtgärdsfönstret Egenskapssida.
  4. På fliken Övrig på egenskapssidan, i egenskapsrutan Snabbmenyrad , skriver du namnet på makroobjektet som du skapade i Steg 2 (i det här exemplet "mcrAddShortcutMenu").
  5. Kontrollera att egenskapen Snabbmeny är inställd på Ja.
  6. Spara ändringarna i formuläret eller rapporten.
    Nästa gång du öppnar formuläret eller rapporten och sedan högerklickar på formuläret, rapporten eller kontrollen visas snabbmenyn med tillhörande kommandon, enligt följande bild:
    Skärmbild av en snabbmeny i ett Access-formulär

Lägga till menyn som en global snabbmeny

Den här proceduren ersätter alla standardsnabbmenyer i den aktuella databasen. Anpassade snabbmenyer som du har kopplat till särskilda formulär, rapporter eller kontroller påverkas inte.

  1. Klicka på Filalternativ>.
  2. Klicka på Aktuell databas i dialogrutan Access-alternativ.
  3. Under Alternativ för menyfliksområdet och verktygsfältet, i rutan Snabbmenyrad , skriver du namnet på makrot som du skapade i steg 2 (i det här exemplet "mcrAddShortcutMenu").
  4. Spara ändringarna i dialogrutan Access-alternativ genom att klicka på OK.
  5. Stäng databasen så att ändringarna börjar gälla.

Egna snabbmenyer ersätter standardsnabbmenyerna för de objekt som de är kopplade till. Om du vill behålla vissa Access-kommandon som ska användas på dessa menyer använder du makroinstruktionen KörKommando för att placera kommandona i makroobjekten för de menyer som du vill ha dem i.

En egen snabbmeny som är kopplad till en kontroll ersätter alla andra egna snabbmenyer som definierats i databasen. En egen global snabbmeny som är kopplad till ett formulär eller en rapport ersätter en egen global snabbmeny.

När du anger ett menymakro för ett formulär eller en rapport eller för databasen, körs det här menymakrot varje gång formuläret, rapporten eller databasen öppnas. Om du gör ändringar i menymakroobjektet eller makroobjektet som definierar dess kommandon medan formuläret, rapporten eller databasen är öppen måste du stänga formuläret, rapporten eller databasen och öppna den igen för att se ändringarna.

Om du vill skapa en undermeny på en snabbmenylista med kommandon följer du steg 1 för att skapa ett separat makroobjekt som bara innehåller undermenykommandon, som du ser i följande bild:

Skärmbild av ett makro i Access med två delmakron

Följ sedan steg 1 igen för att definiera kommandona för menyobjektet på högre nivå. Lägg till undermenyn som ett alternativ i makroobjektet på högre nivå med hjälp av makroinstruktionen NyMeny . I följande bild visas makroobjektet för en meny som innehåller en undermeny. Det tredje delmakrot i det här exempelmakroobjektet skapar undermenyn Exportera till... (mcrShortcutSubMenuCommands).

Skärmbild av ett Access-makro med fyra delmakron

Följande bild visar den färdiga snabbmenyn med en undermeny:

Skärmbild av en snabbmeny med en undermeny

Du kan skapa flera nivåer av undermenyer med hjälp av makroåtgärderna NyMeny i makroobjekten för varje nivå i menyn. Se till att ange ett värde för argumentet Menynamn för varje NyMeny-åtgärd , annars visas undermenyn som en tom rad på den överordnade menyn.

Villkor för makrouttryck som använder Om/Då/Annars-block stöds endast i makroobjektet på den översta nivån. Med andra ord kan du använda ett villkorsuttryck i ett menymakroobjekt för att avgöra om en viss meny eller snabbmeny ska visas, men bara för menyerna på den översta nivån. Du kan inte använda villkorsuttryck för att visa eller dölja kommandon eller undermenyer på menyerna. Du kan också använda ett villkorsuttryck om du vill dölja eller visa en egen snabbmeny eller global snabbmeny.

Menymakrot som du skapade i steg 2 kan även vara en del av ett makroobjekt. Om du till exempel har flera snabbmenyer för olika objekt eller kontroller kan du skapa ett enda makroobjekt som innehåller alla nödvändiga menymakron. Se till att ha ett unikt namn för varje delmakro. I steg 3 använder du följande notation för att referera till makrot: MacroObjectName.SubmacroName. Till exempel mcrAddShortcutMenus.AddMenu2.

Överst på sidan