Opret en formular, der indeholder en underformular (en en-til-mange-formular)

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Når du arbejder med relationsdata i Access, har du ofte brug for at få vist flere tabeller eller forespørgsler i samme formular. Det kan f.eks. være, at du vil have vist kundedata fra én tabel og kundeordreoplysninger fra en anden tabel på samme tid. Underformularer gør det nemmere, og Access giver dig flere hurtige måder at oprette dem på.

Hvad vil du foretage dig?

Få mere at vide om underformularer

En underformular er en formular, der indsættes i en anden formular. Den primære formular kaldes hovedformularen, og den omsluttede formular kaldes underformularen. En kombination af formular/underformular kaldes nogle gange en hierarkisk formular, en master-/detaljeformular eller en overordnet/underordnet formular.

Underformularer fungerer især godt, når du vil vise data fra tabeller eller forespørgsler, der har en en til mange-relation. I denne type relation svarer den primære nøgleværdi for hver post i den primære tabel til værdien i det eller de tilsvarende felter for mange poster i den relaterede tabel. Du kan f.eks. oprette en formular, der viser medarbejderdata og en underformular, der viser hver medarbejders ordrer. Dataene i tabellen Medarbejdere er en-siden af relationen. Dataene i tabellen Ordrer er relationens mange-side, fordi hver medarbejder kan have mere end én ordre.

En formular, der indeholder en underformular

  1. Hovedformularen viser data fra en-siden af relationen.

  2. Underformularen viser data fra relationens mange-side.

Hovedformularen og underformularen i denne type formular er sammenkædet, så underformularen kun viser poster, der er relateret til den aktuelle post i hovedformularen. Når hovedformularen f.eks. viser Nancy Freehafers oplysninger, viser underformularen kun hendes ordrer. Hvis formularen og underformularen ikke er sammenkædet, viser underformularen alle ordrer, ikke kun Nancys.

I følgende tabel defineres ord, der er relateret til underformularer. Access håndterer de fleste oplysninger, hvis du bruger fremgangsmåderne i denne artikel, men det hjælper at vide, hvad der sker bag kulisserne, hvis du har brug for at foretage ændringer senere.

Begreb Definition
Underformularkontrolelement Det kontrolelement, der integrerer en formular i en formular. Du kan betragte underformularkontrolelementet som en "visning" af et andet objekt i databasen, uanset om det er en anden formular, en tabel eller en forespørgsel. Underformularkontrolelementet har egenskaber, som du kan bruge til at sammenkæde de data, der er vist i kontrolelementet, til dataene i hovedformularen.
Egenskaben Kildeobjekt Den egenskab i underformularkontrolelementet, der bestemmer, hvilket objekt der vises i kontrolelementet.
Dataark En simpel visning af data i rækker og kolonner, der minder om et regneark. Underformularkontrolelementet viser et dataark, når dets kildeobjekt er en tabel eller forespørgsel, eller når dets kildeobjekt er en formular, hvis Default View egenskab er angivet til Datasheet. I disse tilfælde kan underformularen omtales som et dataark eller et underdataark i stedet for en underformular.
Egenskaben UnderordnedeFelter Den egenskab for underformularkontrolelementet, der angiver, hvilke felter i underformularen der sammenkæder det med hovedformularen.
Egenskaben OverordnedeFelter Den egenskab for underformularkontrolelementet, der angiver, hvilke felter i hovedformularen der sammenkæder det med underformularen.

Bemærk

  • Du opnår de bedste resultater, hvis du etablerer tabelrelationer, inden du følger procedurerne i denne artikel. Det sætter Access i stand til automatisk at oprette kæderne mellem underformularerne og hovedformularerne. Hvis du vil have vist, tilføje eller ændre relationer mellem tabellerne i databasen, skal du klikke på Relationer i gruppen Relationer under fanen Databaseværktøjer.
  • Når et underformularkontrolelement har en formular som kildeobjekt, indeholder det de felter, du placerer i formularen. Du kan få den vist som en enkelt formular, en fortløbende formular eller et dataark. En af fordelene ved at basere en underformular på et formularobjekt er, at du kan føje beregnede felter til underformularen, f.eks [Quantity] * [Unit price]. .
  • Du kan indsætte et dataark eller en pivotvisning i en formular ved at oprette et underformularkontrolelement, hvis kildeobjekt er en tabel eller forespørgsel. Du kan finde flere oplysninger i afsnittet Føje relaterede data til en formular uden at oprette en underformular.

Toppen af siden

Oprette eller tilføje en underformular

Brug følgende tabel til at bestemme, hvilken procedure der er mest passende for din situation.

Scenarie Anbefalet procedure
Du vil have, at Access opretter både en hovedformular og en underformular, og du vil sammenkæde underformularen med hovedformularen. Opret en formular, der indeholder en underformular, ved hjælp af guiden Formular
Du vil bruge en eksisterende formular som hovedformular, men du vil have, at Access opretter en ny underformular og føjer den til hovedformularen. Føje en eller flere underformularer til en eksisterende formular ved hjælp af guiden Underformular
Du vil bruge en eksisterende formular som hovedformular, og du vil føje en eller flere eksisterende formularer til formularen som underformularer. Oprette en underformular ved at trække én formular til en anden

Oprette en formular, der indeholder en underformular, ved hjælp af guiden Formular

Denne fremgangsmåde opretter en kombination af en ny formular og underformular ved hjælp af guiden Formular. Det er også den hurtigste måde at komme i gang på, hvis du ikke allerede har oprettet de formularer, du vil bruge som hovedformular eller underformular.

  1. Klik på Guiden Formular i gruppen Formularer på fanen Opret.

  2. Vælg en tabel eller forespørgsel på rullelisten Tabeller/forespørgsler på den første side i guiden. Hvis du i dette eksempel vil oprette en medarbejderformular, der viser ordrer for hver medarbejder i en underformular, skal du vælge Tabel: Medarbejdere (en-siden af en til mange-relationen).

    Bemærk

    Det er lige meget, hvilken tabel eller forespørgsel du vælger først.

  3. Dobbeltklik på de felter, du vil medtage fra denne tabel eller forespørgsel.

  4. På samme side i guiden skal du på rullelisten Tabeller/forespørgsler vælge en anden tabel eller forespørgsel på listen. I dette eksempel skal du vælge tabellen Ordrer ("mange"-siden af en til mange-relationen).

  5. Dobbeltklik på de felter, du vil medtage fra denne tabel eller forespørgsel.

  6. Når du klikker på Næste, og det antages, at du har konfigureret relationerne korrekt, før du startede guiden, spørger guiden Hvordan vil du have vist dine data? – dvs. efter hvilken tabel eller forespørgsel. Vælg tabellen på en-siden af en til mange-relationen. I dette eksempel skal du vælge Efter Medarbejdere for at oprette formularen Medarbejdere. Guiden viser et lille diagram af en formular. Siden skal ligne følgende illustration:

    Skærmbillede, der viser underformularsiden i guiden Formular

    Feltet i den nederste del af formulardiagrammet repræsenterer underformularen.

    Bemærk

    Hvis du ikke får vist spørgsmålet Hvordan vil du vise dataene? i guiden, betyder det, at Access ikke fandt en en-til-mange-relation mellem de tabeller eller forespørgsler, du har valgt. Guiden fortsætter, men Access føjer ikke underformularen til formularen. Du kan eventuelt klikke på Annuller for at granske tabelrelationerne, inden du fortsætter.

  7. Vælg Formular med underformular(er) nederst i guiden, og klik derefter på Næste.

  8. På siden Hvilket layout skal underformularen have? skal du klikke på den layoutindstilling, du vil bruge, og derefter klikke på Næste. Begge layouttypografier arrangerer underformulardataene i rækker og kolonner, men et tabellayout giver dig flere indstillinger. Du kan føje farve, grafik og andre formateringselementer til en underformular i tabelform, hvorimod et dataark er mere kompakt ligesom dataarkvisningen af en tabel.

  9. På næste side i guiden skal du vælge en formateringstypografi til formularen, og derefter skal du klikke på Næste. Hvis du valgte Tabelformat på forrige side, anvendes den formateringstypografi, du vælger, også i underformularen.

  10. På den sidste side i guiden skal du skrive de ønskede titler til formularerne. Formularerne navngives ud fra de titler, du skriver, og tilknytter et mærkat til underformularen ud fra den titel, du skriver i underformularen.

  11. Angiv, om du vil åbne formularen i formularvisning, så du kan få vist eller angive oplysninger eller i designvisning, så du kan ændre designet, og klik derefter på Udfør. Access opretter to formularer – én til hovedformularen, der indeholder underformularkontrolelementet, og én til selve underformularen.

Toppen af siden

Føje en eller flere underformularer til en eksisterende formular ved hjælp af guiden Underformular

Brug denne procedure for at føje en eller flere underformularer til en eksisterende formular. For hver underformular kan du vælge at få oprettet en ny formular eller at bruge en eksisterende formular som underformular.

  1. Højreklik på den eksisterende formular i navigationsruden, og klik derefter på Designvisning.
  2. Klik på pil ned i gruppen Kontrolelementer under fanen Formulardesign for at få vist galleriet Kontrolelementer, og sørg for, at Brug kontrolelementguider er markeret.
  3. Klik på knappen Underformular/underrapport i gruppen Kontrolelementer under fanen Formulardesign.
  4. Klik på den formular, hvor du vil placere underformularen.
  5. Følg anvisningerne i guiden. Når du klikker på Udfør, føjes der et kontrolelement for underformularen til formularen. Hvis du vælger, at Access skal oprette en ny formular i stedet for at bruge en eksisterende formular, oprettes det nye formularobjekt, og det føjes til navigationsruden.

Oprette en underformular ved at trække én formular til en anden

Brug denne fremgangsmåde, hvis du vil bruge en eksisterende formular som hovedformular og føje en eller flere eksisterende formularer til den som underformularer.

  1. Højreklik på den formular, du vil bruge som hovedformular, i navigationsruden, og klik derefter på Layoutvisning.
  2. Træk den formular, du vil bruge som underformular, fra navigationsruden til hovedformularen. Der tilføjes et kontrolelement for underformularen på hovedformularen, og kontrolelementet bindes til den formular, du trak fra navigationsruden. Access forsøger også at sammenkæde underformularen med hovedformularen på basis af de relationer, der er defineret i databasen.
  3. Gentag dette trin, hvis du vil føje flere underformularer til hovedformularen.
  4. Hvis du vil bekræfte, at sammenkædningen gik godt, skal du klikke på Vis i gruppen Visninger under fanen Startside, klikke på Formularvisning og derefter bruge postvælgeren i hovedformularen til at bladre gennem flere poster. Hvis underformularen filtreres korrekt for hver medarbejder, er proceduren fuldført.

Hvis den forrige test ikke virker, kunne Access ikke afgøre, hvordan underformularen skal sammenkædes med hovedformularen, og egenskaberne Link Child Fields for Link Master Fields underformularkontrolelementet er tomme. Du skal angive disse egenskaber manuelt på følgende måde:

  1. Højreklik på hovedformularen i navigationsruden, og klik derefter på Designvisning.

  2. Klik på underformularkontrolelementet for at markere det.

  3. Hvis opgaveruden Egenskabsark ikke vises, skal du trykke på F4 for at få den vist.

  4. Klik på fanen Data i på egenskabsarket.

  5. Klik på knappen Generér ud for egenskabsfeltet Link Child Fields . Dialogboksen Feltsammenbinding af underformular vises.

  6. Vælg de felter, du vil sammenkæde formularerne med, på rullelisterne Overordnede felter og Underordnede felter, og klik derefter på OK. Hvis du er usikker på, hvilke felter der skal bruges, kan du klikke på Foreslå for at få Access til at fastlægge felterne til sammenkædningen.

    Tip

    Hvis du ikke kan se det felt, du vil bruge til at sammenkæde formularerne, kan det være nødvendigt at redigere postkilden for hovedformularen eller den underordnede formular for at sikre, at sammenkædningsfeltet er inkluderet. Hvis formularen f.eks. er baseret på en forespørgsel, skal du sørge for, at sammenkædningsfeltet findes i forespørgselsresultaterne.

  7. Gem hovedformularen, og skift til formularvisning for at undersøge, om formularen virker efter hensigten.

Åbne en underformular i et nyt vindue i designvisning

Hvis du vil foretage ændringer i designet af en underformular, mens du arbejder på dens hovedformular i designvisning, kan du åbne underformularen i et nyt vindue:

  1. Klik på underformularen for at markere den.
  2. Klik på Underformular i nyt vindue i gruppen Værktøjer under fanen Formulardesign.

Toppen af siden

Ændre standardvisningen for en underformular

Når du føjer en underformular til en formular, viser underformular-/underrapportkontrolelementet underformularen i overensstemmelse med underformularens Default View egenskab. Denne egenskab kan indstilles til følgende værdier:

  • En post ad gangen.
  • Fortløbende formularer
  • Dataark
  • Delt formular

Når du først opretter en underformular, kan denne egenskab være indstillet til Fortløbende formularer eller Enkelt formular. Men hvis du angiver egenskaben Default View for en underformular til Datasheet, vises underformularen som et dataark i hovedformularen.

Sådan angiver du egenskaben Default View for en underformular:

  1. Luk alle åbne objekter.

  2. I navigationsruden skal du højreklikke på underformularen og derefter klikke på Designvisning.

  3. Hvis egenskabsarket ikke allerede vises, skal du trykke på F4 for at få det vist.

  4. Kontrollér, at Formular er markeret på rullelisten øverst i egenskabsarket.

  5. Indstil egenskaben Standardvisning under fanen Format på egenskabsarket til den visning, du vil bruge.

    Bemærk

    Hvis den visning, du vil bruge, ikke findes på listen, skal du kontrollere, at egenskaben for den Allow...View pågældende visning er indstillet til Ja. Hvis du f.eks. vil angive Dataark som standardvisning for formularen, skal du kontrollere, at egenskaben Tillad dataarkvisning er indstillet til Ja.

  6. Gem og luk underformularen, og åbn derefter hovedformularen for at kontrollere resultaterne.

Toppen af siden

Du behøver ikke altid at oprette et separat formularobjekt for at få vist relaterede data. Hvis du f.eks. arbejder på en formular i layoutvisning eller designvisning, og du trækker en tabel eller forespørgsel fra navigationsruden til formularen, opretter Access et underformular-/underrapportkontrolelement, der viser dataene i det pågældende objekt. Objektets Default View egenskab bestemmer, hvordan dataene vises. Normalt er dette indstillet til dataarkvisning, men du kan også angive Default View egenskaben for en tabel eller forespørgsel til Enkelt formular, Delt formular eller Fortløbende formularer, hvilket giver dig større fleksibilitet til at vise relaterede data i formularer.

Bemærk

Ændring af Default View egenskaben for en tabel eller forespørgsel bestemmer, hvordan den vises, når den åbnes, uanset om du åbner den fra navigationsruden eller får den vist i et underformular-/underrapportkontrolelement. Da det nogle gange kan skabe forvirring at ændre visningsindstillingerne for en tabel, når tabellen åbner fra navigationsruden, anbefaler vi, at du bruger en forespørgsel for denne procedure i stedet for en tabel.

Toppen af siden