Opprette egendefinerte menyer og hurtigmenyer ved hjelp av makroer

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan bruke Access-makroer til å opprette egendefinerte hurtigmenyer som vises når du høyreklikker skjemaer, rapporter eller enkeltkontroller. Du kan også opprette egendefinerte menyer som vises på båndet for bestemte skjemaer eller rapporter.

Hvis du vil opprette en meny ved hjelp av makroer, utfører du tre hovedtrinn:

  1. Opprett et makroobjekt med delmakroer som inneholder menykommandoene.
  2. Opprette et annet makroobjekt som oppretter selve menyen.
  3. Koble menyen til en kontroll, et skjema, en rapport eller til databasen som helhet.

De følgende avsnittene leder deg gjennom disse trinnene i detalj.

Tips

Hvis du vil lære hvordan du oppretter egendefinerte hurtigmenyer i Access ved hjelp av VBA-kode (Visual Basic for Applications), kan du se artikkelen Opprette en hurtigmeny for et skjema, en skjemakontroll eller en rapport.

Trinn 1: Opprett et makroobjekt med delmakroer som inneholder menykommandoene

I dette trinnet skal du opprette et makroobjekt med delmakroer, der hver undermakro vil være en egen kommando på hurtigmenyen.

Hva er en delmakro?

Du kan bruke en delmakro i et makroobjekt til å definere et sett med makrohandlinger. Delmakroer i et makroobjekt kan kalles separat fra ulike kontroll- og objekthendelser. Hver enkelt delmakro i et makroobjekt har et unikt navn og kan inneholde én eller flere makrohandlinger.

  1. Klikk på Makro i gruppen Makroer og kodeOpprett-fanen.

  2. For hver kommando du vil ha på den egendefinerte hurtigmenyen:

    1. Legg til en Submacro-setning i makroutformingsvinduet og gi undermakroen navnet det du vil vise på hurtigmenyen (for eksempel "Skriv ut" eller "Oppdater").

      Tips

      Hvis du vil opprette en tilgangstast slik at du kan bruke tastaturet til å velge kommandoen, skriver du inn et Et-tegn (&) foran bokstaven du vil skal være tilgangstast i kommandonavnet (for eksempel «&Oppdater»). Denne bokstaven vil være understreket på menyen.

    2. Velg den første handlingen du vil skal utføres når du klikker kommandoen på hurtigmenyen, i delmakroen.

    3. Hvis du vil at flere handlinger skal utføres når du velger denne kommandoen, legger du dem til som separate makrohandlinger i samme delmakro.

  3. Lagre og gi navn til makroobjektet, for eksempel mcrShortcutMenuCommands.
    Illustrasjonen nedenfor viser et eksempel på et makroobjekt med tre delmakroer for en egendefinert meny eller hurtigmeny.
    Skjermbilde av Access-makroutformingsvinduet med tre delmakrosetninger.

Trinn 2: Opprett et nytt makroobjekt som oppretter menyen

Dette trinnet kan virke overflødig, men hvis du vil opprette hurtigmenyen fra makroobjektet du opprettet i trinn 1, må du opprette et nytt makroobjekt som inneholder makrohandlingen LeggTilMeny. Denne makrohandlingen kalles noen ganger for «menymakroen».

  1. Klikk på Makro i gruppen Makroer og kodeOpprett-fanen.
  2. Velg Legg tilMeny i kombinasjonsboksen Legg til handling i makroutformingsvinduet.
  3. I argumentboksen Menynavn for makrohandlingen Legg tilMeny skriver du inn navnet på menyen (for eksempel «Skjemakommandoer»). Dette argumentet er ikke nødvendig, men anbefales hvis du i trinn 3 har tenkt å legge til menyen på en båndfane (for eksempel Tillegg-fanen i et skjema eller en rapport). Hvis menyen legges til som en hurtigmeny i trinn 3, ignoreres Menynavn-argumentet .
  4. Skriv inn navnet på makroobjektet som du opprettet i trinn 1, i argumentboksen Menymakronavn .
  5. Lagre og gi navn til dette andre makroobjektet, for eksempel mcrAddShortcutMenu.
    Illustrasjonen nedenfor viser et eksempel på et menymakroobjekt som oppretter menyen vi utformet i trinn 1.
    Skjermbilde av et Access-makroobjekt med en makrohandling LeggTilMeny.

Trinn 3: Knytte menyen til en kontroll, et skjema, en rapport eller en database

Avhengig av hvor du vil at menyen skal vises, bruker du én eller flere av følgende fremgangsmåter.

Legge til menyen på Add-Ins-fanen i et skjema eller en rapport

Bruk denne fremgangsmåten hvis du vil at menyen skal vises på Tillegg-fanen for et bestemt skjema eller en rapport.

  1. Høyreklikk skjemaet eller rapporten der du vil at menyen skal vises, i navigasjonsruten, og klikk deretter Utformingsvisning.
  2. Klikk på Egenskapsark i Verktøy-gruppen på Utforming-fanen.
  3. Merk hele objektet ved å velge Skjema eller Rapport fra listen øverst i oppgaveruten Egenskapsside.
  4. Skriv inn navnet på makroobjektet som du opprettet i trinn 2 (i dette eksemplet «mcrAddShortcutMenu» i egenskapsboksen for menylinjen, i kategorien Annet på egenskapssiden).
  5. Lagre endringene i skjemaet eller rapporten.
    Neste gang du åpner skjemaet eller rapporten, vises kategorien Tillegg på båndet. Klikk fanen for å vise menyen, som vist i illustrasjonen nedenfor:
    Skjermbilde av Tillegg-båndet i Access
    Hvis du vil ha mer informasjon om teknikker for tilpasning av båndet, for eksempel å legge til egendefinerte faner eller skjule standardfanene, kan du se artikkelen Opprette et egendefinert bånd i Access.

Legge til menyen som en hurtigmeny for et skjema, en rapport eller en kontroll

Bruk denne fremgangsmåten hvis du vil at menyen skal vises når du høyreklikker et bestemt skjema, en rapport eller en kontroll.

  1. Høyreklikk skjemaet eller rapporten der du vil at hurtigmenyen skal vises, i navigasjonsruten, og klikk deretter Utformingsvisning.
  2. Klikk på Egenskapsark i Verktøy-gruppen på Utforming-fanen.
  3. Velg kontrollen eller objektet du vil knytte hurtigmenyen til.
    Hvis du vil merke hele objektet, velger du Skjema eller Rapport fra listen øverst i oppgaveruten Egenskapsside.
  4. Skriv inn navnet på makroobjektet som du opprettet i trinn 2 (i dette eksemplet «mcrAddShortcutMenu») i egenskapsboksen på hurtigmenylinjen i kategorien Annet på egenskapssiden.
  5. Kontroller at egenskapen for hurtigmenyen er satt til Ja.
  6. Lagre endringene i skjemaet eller rapporten.
    Neste gang du åpner skjemaet eller rapporten og deretter høyreklikker skjemaet, rapporten eller kontrollen, ser du hurtigmenyen med de tilknyttede kommandoene, som vist i illustrasjonen nedenfor:
    Skjermbilde av en hurtigmeny i et Access-skjema

Legge til menyen som en global hurtigmeny

Denne prosedyren erstatter alle standard hurtigmenyer i den gjeldende databasen. Egendefinerte hurtigmenyer som du har knyttet til bestemte skjemaer, rapporter eller kontroller, påvirkes ikke.

  1. Klikk Filalternativer>.
  2. Klikk på Gjeldende database i dialogboksen Alternativer for Access.
  3. Skriv inn navnet på makroen du opprettet i trinn 2 (i dette eksemplet «mcrAddShortcutMenu») i hurtigmenylinjen under Alternativer for bånd og verktøylinje.
  4. Klikk OK for å lagre endringene i dialogboksen Alternativer for Access .
  5. Lukk og åpne deretter databasen på nytt for at endringene skal tre i kraft.

Egendefinerte hurtigmenyer erstatter standard hurtigmenyer for objektene de er knyttet til. Hvis du vil beholde enkelte Access-kommandoer for bruk på disse menyene, kan du bruke makrohandlingen RunCommand til å plassere kommandoene i makroobjektene for menyene du vil ha dem i.

En egendefinert hurtigmeny som er knyttet til en kontroll, erstatter alle andre egendefinerte hurtigmenyer som er definert i databasen. En egendefinert hurtigmeny som er knyttet til et skjema eller en rapport, erstatter en egendefinert global hurtigmeny.

Når du angir en menymakro for et skjema, en rapport eller for databasen, kjører Access denne menymakroen når skjemaet, rapporten eller databasen åpnes. Hvis du gjør endringer i menymakroobjektet eller makroobjektet som definerer kommandoene mens skjemaet, rapporten eller databasen er åpen, må du lukke skjemaet, rapporten eller databasen og åpne den på nytt for å se endringene.

Hvis du vil opprette en undermeny på en hurtigmenyliste med kommandoer, følger du trinn 1 for å opprette et separat makroobjekt som bare inneholder undermenykommandoene, som vist i illustrasjonen nedenfor:

Skjermbilde av en makro i Access med to delmakroer

Følg deretter trinn 1 på nytt for å definere kommandoene for menyobjektet på høyere nivå. Legg til undermenyen som et element i makroobjektet på høyere nivå ved hjelp av makrohandlingen LeggTilMeny . Illustrasjonen nedenfor viser makroobjektet for en meny som inneholder en undermeny. Den tredje undermakroen i dette eksempelmakroobjektet oppretter Eksporter til...- undermenyen (mcrShortcutSubMenuCommands).

Skjermbilde av en Access-makro med fire delmakroer

Følgende illustrasjon viser den fullførte hurtigmenyen med en undermeny:

Skjermbilde av en hurtigmeny med en undermeny

Du kan opprette flere nivåer med undermenyer ved hjelp av makrohandlinger i Legg tilMeny i makroobjektene for hvert menynivå. Pass på at du angir en verdi for Menynavn-argumentet for hver Legg tilMeny-handling , ellers vises undermenyen som en tom linje på menyen på et høyere nivå.

Makrouttrykksbetingelser som bruker Hvis/da/Else-blokker , støttes bare i makroobjekter på øverste nivå. Du kan med andre ord bruke et betingelsesuttrykk i et menymakroobjekt til å bestemme om en bestemt meny eller hurtigmeny skal vises, men bare for menyene på øverste nivå. Du kan ikke bruke betingelsesuttrykk til å vise eller skjule kommandoer eller undermenyer på menyene. Du kan også bruke et betingelsesuttrykk til å skjule eller vise en egendefinert hurtigmeny eller global hurtigmeny.

Menymakroen du oppretter i trinn 2, kan også være en del av et makroobjekt. Hvis du for eksempel har flere hurtigmenyer for forskjellige objekter eller kontroller, kan du opprette ett enkelt makroobjekt som inneholder alle de nødvendige menymakroene. Pass på at du har et unikt navn for hver undermakro. I trinn 3 bruker du følgende notasjon for å referere til makroen: Makroobjektnavn.Undermakronavn. For eksempel mcrAddShortcutMenus.AddMenu2.

Til toppen av siden