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

Når du arbejder med relationsdata (relaterede data, der er gemt i separate tabeller) i Access, skal du ofte få vist flere tabeller eller forespørgsler i den samme formular. Det kan f.eks. være, at du vil have vist kundedata fra én tabel og oplysninger om kundeordrer fra en anden tabel på samme tid. Underformularer er et praktisk værktøj til at gøre dette, og Access indeholder flere måder, du hurtigt kan oprette underformularer på.

Hvad vil du foretage dig?

Få mere at vide om underformularer

En underformular er en formular, der er indsat i en anden formular. Den primære formular hedder hovedformularen, og formularen som er en del af formularen, hedder underformularen. Kombinationen formular/underformular kaldes også en hierarkisk formular, en hoved-/detaljeformular eller en overordnet/underordnet formular.

Underformularer er især effektive, når du vil vise data fra tabeller eller forespørgsler, der har en en til mange-relation. En en til mange-relation er en tilknytning mellem to tabeller, hvor den primære nøgleværdi for hver post i den primære tabel svarer 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 indeholder en underformular, der viser hver medarbejders ordrer. Dataene i tabellen Medarbejdere er en-siden af relationen. Dataene i tabellen Ordrer er relationens mange-side – hver medarbejder kan have mere end én ordre.

En formular, der indeholder en underformular

1. I hovedformularen vises data fra "en"-siden af relationen.

2. I underformularen vises data fra "mange"-siden af relationen.

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 kædet sammen, viser underformularen alle ordrerne, ikke kun Nancys.

I følgende tabel defineres nogle af de udtryk, der vedrører underformularer. Access håndterer de fleste detaljer, hvis du følger fremgangsmåderne i denne artikel, men det er nyttigt at vide, hvad der sker i baggrunden, hvis du efterfølgende skal foretage redigeringer.

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 kildeobjektet er en formular, hvor egenskaben Standardvisning er indstillet til Dataark. 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 underformularen med hovedformularen.

Egenskaben OverordnedeFelter

Den egenskab for underformularkontrolelementet, der angiver, hvilke felter i hovedformularen der sammenkæder hovedformularen med underformularen.

Bemærkninger!: 

  • 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, og det kan vises som en enkelt formular, en fortløbende formular eller et dataark. En fordel ved at basere en underformular på et formularobjekt er, at du kan føje beregnede felter til underformularen, f.eks . [Antal] * [Enhedspris].

  • 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.

Scenario

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. Dette er også den hurtigste måde at komme i gang på, hvis du ikke allerede har oprettet de formularer, du skal bruge som hovedformular og 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. I dette eksempel vælger vi Tabel: Medarbejdere (en-siden af en-til-mange-relationen) for at oprette en medarbejderformular, der viser ordrer for hver medarbejder i en underformular.

    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 vælger vi 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 vi klikke på efter Medarbejdere for at oprette formularen Medarbejdere. Guiden viser et lille diagram af en formular. Siden skal ligne følgende illustration:

    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. I begge layouttyper arrangeres underformulardataene i rækker og kolonner, men et tabellayout kan tilpasses på flere måder. 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 se eller angive oplysninger, eller i designvisning, så du kan ændre designet, og klik derefter på Udfør.

    Der oprettes to formularer – en til hovedformularen, som indeholder kontrolelementet til underformularen, og en til selve underformularen.

Toppen af siden

Føj 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å det sted i formularen, hvor underformularen skal placeres.

  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 procedure, hvis du vil bruge en eksisterende formular som hovedformular, og du vil føje en eller flere eksisterende formularer til formularen 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 tidligere test ikke virker, kunne Access ikke bestemme, hvordan underformularen skulle sammenkædes med hovedformularen, og egenskaberne UnderordnedeFelter og OverordnedeFelter for kontrolelementet til underformularen 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 Knappen Generator ud for egenskabsfeltet UnderordnedeFelter .

    Dialogboksen Feltsammenkædning 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 i det. 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, vises underformularen i kontrolelementet for underformularen/underrapporten ifølge egenskaben Standardvisning. Denne egenskab kan indstilles til følgende værdier:

  • En post ad gangen.

  • Fortløbende formularer

  • Dataark

  • Delt formular

Når du opretter en underformular første gang, kan denne egenskab være indstillet til Fortløbende formularer eller Enkel formular. Hvis du indstiller egenskaben Standardvisning for en underformular til Dataark, vises underformularen som et dataark i hovedformularen.

Sådan indstiller du egenskaben Standardvisning 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 vises korrekt, skal du trykke på F4 for at se det.

  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 "Tillad... Egenskaben Vis" for visningen 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

Føj relaterede data til en formular uden at oprette en underformular

Det er ikke altid nødvendigt at oprette et separat formularobjekt for at vise 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 standardvisningsegenskab bestemmer, hvordan dataene vises. Normalt er denne indstillet til dataarkvisning, men du kan også angive egenskaben Standardvisning for en tabel eller forespørgsel til Enkelt formular, Delt formular eller Fortløbende Forms, hvilket giver dig større fleksibilitet til at vise relaterede data i formularer.

Bemærk!: Hvis du ændrer egenskaben Standardvisning for en tabel eller forespørgsel, bestemmer det, hvordan den vises, når den åbnes, uanset om du åbner den fra navigationsruden eller åbner den 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

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.