Du kan bruge en tabel til at oprette en underformular - en formular i en formular. Underformularen indeholder data, der er relevante for dataene i hovedformularen.
En underformular er en form, der er indlejret inde i en anden form. Den indeholder normalt data, der er knyttet til den post, der i øjeblikket er åben i hovedformularen.
For eksempel kan du have en formular, der viser en ordre, og en underformular, der viser hver vare i ordren.
Eller du kan have en formular, der viser et land, med en underformular, der viser hver by i det pågældende land.
Nedenfor er en trin-for-trin guide til oprettelse af en formular og underformular fra en tabel.
-
Opret en ny formular
I venstre navigationsrude skal du vælge den tabel, du vil basere din formular/underformular på, og vælge Formular fra båndet (på Opret fanen).
For at dette kan fungere, skal den valgte tabel være "en"-delen af en en-til-mange-relation.
Se nedenfor for mere information.
-
Formularen og underformularen
Formularen og dens underformular oprettes øjeblikkeligt og vises i layoutvisning.
Underformularen vises i dataarkvisning under de andre felter i hovedformularen.
Et nærmere kig på underformularen
Lad os se, hvordan underformularen vises i de forskellige visninger, samt hvordan den får sine data.
-
Formularvisning
Skift til formularvisning (ved at klikke på formularvisningsikonet nederst til højre i Access).
Naviger gennem hovedformularen ved at klikke på Næste post ikonet nederst i formularen.
Når du navigerer gennem registreringerne, opdateres indholdet af underformularen til kun de poster, der er knyttet til den overordnede formular.
-
Designvisning
Skift til Design View (ved at klikke på Design View-ikonet nederst til højre i Access).
Underformularen vises som en boks med dens datakilde vist. I dette eksempel er datakilden Tabel.Albums (dvs. Album tabel).
Du kan bruge Design View til at tilpasse underformularen. For eksempel kan du åbne egenskabsarket (ved at klikke på Ejendomsarket i Design fanen på båndet) og juster de forskellige egenskaber efter behov.
-
Underformularens kilde
Ved at klikke på Data fanen på egenskabsarket vil afsløre underformularens kilde samt feltet, der linker underformularen til den overordnede formular.
Kildeobjektet egenskab bestemmer, hvilket objekt der vises i kontrolelementet.
Link underordnede felter egenskab angiver, hvilket eller hvilke felter i underformularen, der forbinder underformularen med den overordnede formular.
Link Master Fields egenskab angiver hvilket eller hvilke felter på den overordnede formular, der forbinder den overordnede formular til underformularen.
Sådan virker det
Oprettelse af en underformular som denne virker kun, hvis den tabel er en del af en relation. Access ser, at der er en relation, så den opretter underformularen automatisk.
Mere specifikt skal tabellen være "én"-delen af en en-til-mange-relation.
Hvis du opretter en formular fra "mange"-tabellen, får du ikke en underformular. Formularen vil være en simpel formular baseret på den valgte tabel.
Hvis du opretter en formular fra en tabel, der ikke er en del af en relation, er der ikke behov for en underformular (da der ikke er nogen relaterede data i en anden tabel).
En underformular omtales nogle gange som en en-til-mange-form, da den vil vise "mange"-delen af en en-til-mange-relation (med den overordnede formular, der viser "én"-delen).
Underformularer omtales også ofte som underdataark.
En formular/underformularkombination omtales nogle gange som en hierarkisk formular, en master/detaljeformular eller en overordnet/underordnet formular.
Underformularer vs... Underformularer
Hvis du opretter en underformular ved hjælp af underformularguiden, vil du sandsynligvis ende med to formularer; hovedformen og underformularen. Begge formularer vil blive gemt under Formularer node i navigationsruden.
Når du opretter en underformular fra en tabel (som i eksemplet ovenfor), får du ikke den ekstra formular. Dette skyldes, at underformularen/underrapportkontrollen viser data direkte fra tabellen.
Så teknisk set kan det diskuteres, om dette faktisk er en underformular eller blot et underdatablad. Uanset hvad, det viser det samme resultat for brugeren.
Hvis du ikke ønsker at vise alle felter fra tabellen, kan du bruge en forespørgsel som kildeobjekt eller oprette en underformular ved hjælp af underformularguiden.
Har du ikke brug for en underformular?
Som nævnt forsøger Access at være behjælpelig, når den opretter underformularen automatisk for dig.
Men hvis du ikke har brug for underformularen, kan du blot slette den. Skift blot til layoutvisning eller designvisning, højreklik på underformularen, og vælg derefter Slet fra kontekstmenuen.
Tilføj en underformular til en eksisterende formular
Hvis du allerede har en formular, som du gerne vil tilføje en underformular til, kan du gå videre og tilføje en underformular til den eksisterende formular ved at tilføje en underformularkontrol.