Skapa ett formulär som innehåller ett underformulär (ett 1:N-formulär)
Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

När du arbetar med relationsdata (relaterade data som lagras i separata tabeller) i Access behöver du ofta visa flera tabeller eller frågor i samma formulär. Du kanske till exempel vill se kunddata från en tabell och information om kundorder från en annan tabell samtidigt. Underformulär är ett praktiskt verktyg för att göra detta, och Access innehåller flera sätt som hjälper dig att snabbt skapa underformulär.

Vad vill du göra?

Mer information om underformulär

Ett underformulär är ett formulär som infogas i ett annat formulär. Det primära formuläret kallas för huvudformulär, och det formulär som infogas i formuläret kallas för underformulär. Kombinationen formulär/underformulär kan ibland kallas för ett hierarkiskt formulär.

Underformulär är särskilt lämpade när du vill visa data från tabeller eller frågor med 1:N-relationer. En 1:N-relation är en koppling mellan två tabeller där det primära nyckelvärdet för varje huvudtabellspost motsvarar värdet i matchande fält eller fält med många poster i den relaterade tabellen. Du kan t.ex. skapa ett formulär med data om anställda och som innehåller ett underformulär med de anställdas order. Informationen i tabellen Anställda utgör "1"-sidan i relationen. Informationen i tabellen Order är "N"-sidan i relationen – varje anställd kan ha fler än en order.

Ett formulär som innehåller ett underformulär

1. Huvudformuläret innehåller data från "1"-sidan av relationen.

2. Underformuläret innehåller data från relationens "N"-sida.

Huvudformuläret och underformuläret i den här typen av formulär länkas så att underformuläret bara visar poster som är relaterade till den aktuella posten i huvudformuläret. När till exempel nancy Freehafers information visas i huvudformuläret visas endast hennes order i underformuläret. Om formuläret och underformuläret inte var länkade visar underformuläret alla order, inte bara Nancys.

Följande tabell innehåller definitioner av viss terminologi som används om underformulär. Access hanterar de flesta detaljerna om du använder procedurerna i den här artikeln, men det är bra att veta vad som händer i bakgrunden om du behöver göra ändringar senare.

Term

Definition

Underformulärkontroll

Kontrollen som bäddar in ett formulär i ett formulär. Du kan se ett formulär som en "vy" av ett annat objekt i databasen, oavsett om det är ett annat formulär, en tabell eller en fråga. Med underformulärkontrollen kan du länka data som visas i kontrollen till data i huvudformuläret.

Egenskapen Källobjekt

Den egenskap för underformulärkontrollen som bestämmer vilket objekt som visas i kontrollen.

Datablad

En enkel vy av data i rader och kolumner, ungefär som i ett kalkylblad. Underformulärkontrollen visar ett datablad när dess källobjekt är en tabell eller fråga, eller när källobjektet är ett formulär vars Standardvy-egenskap anges till Datablad. I dessa fall kallas underformuläret ibland för datablad eller underdatablad i stället för underformulär.

Egenskapen Länka underordnade fält

Den egenskap för underformulärkontrollen som anger vilket eller vilka fält i underformuläret som länkas till huvudformuläret.

Egenskapen Länka huvudfält

Den egenskap för underformulärkontrollen som anger vilket eller vilka fält i huvudformuläret som länkas till underformuläret.

Meddelanden: 

  • Det bästa resultatet får du om du upprättar tabellrelationerna innan du följer procedurerna i den här artikeln. På så sätt kan Access automatiskt skapa länkar mellan underformulär och huvudformulär. Om du vill visa, lägga till eller ändra relationer mellan tabellerna i databasen klickar du på Relationer i gruppen Relationer på fliken Databasverktyg.

  • När en underformulärkontroll har ett formulär som källobjekt, innehåller det fälten som du placerar i formuläret och det kan visas som ett enda formulär, kontinuerligt formulär, eller ett datablad. En fördel med att basera ett underformulär på ett formulärobjekt är att du kan lägga till beräknade fält i underformuläret, till exempel [Antal] * [Enhetspris].

  • Du kan infoga ett datablad eller en pivotvy i ett formulär genom att skapa en underformulärkontroll vars källobjekt är en tabell eller fråga. Mer information finns i avsnittet Lägga till relaterade data i ett formulär utan att skapa ett underformulär.

Överst på sidan

Skapa eller lägga till ett underformulär

Följande tabell hjälper dig att välja procedur för den aktuella situationen.

Scenario

Rekommenderad procedur

Du vill Access skapa både ett huvudformulär och ett underformulär och länka underformuläret till huvudformuläret.

Skapa ett formulär som innehåller ett underformulär med hjälp av Formulärguiden

Du vill använda ett befintligt formulär som huvudformulär, men du vill Access skapa ett nytt underformulär och lägga till det i huvudformuläret.

Lägga till ett eller flera underformulär i ett befintligt formulär med hjälp av Underformulärguiden

Du vill använda ett befintligt formulär som huvudformulär och vill lägga till ett eller flera befintliga formulär som underformulär till huvudformuläret.

Skapa ett underformulär genom att dra ett formulär till ett annat

Skapa ett formulär som innehåller ett underformulär med hjälp av Formulärguiden

I den här proceduren skapas en ny kombination av formulär och underformulär med hjälp av Formulärguiden. Det här är också det snabbaste sättet att komma igång om du inte redan har skapat formulären som du vill använda som huvud- och underformulär.

  1. På fliken Skapa i gruppen Formulär klickar du på Formulärguiden.

  2. Välj en tabell eller fråga i den nedrullningsbara listan Tabeller/frågor på guidens första sida. I det här exemplet ska du skapa ett Anställda-formulär där order visas för varje anställd i ett underformulär, och därför väljer du Tabell: Anställda ("1"-sidan i förhållandet en till många).

    Obs!: Det spelar ingen roll vilken tabell eller fråga du väljer först.

  3. Dubbelklicka på fälten som du vill använda från denna tabell eller fråga.

  4. Välj en annan tabell eller fråga i den nedrullningsbara listrutan Tabeller/frågor på samma sida i guiden. I det här exemplet väljer du tabellen Order (sidan "många" i relationen en till många).

  5. Dubbelklicka på fälten som du vill använda från denna tabell eller fråga.

  6. Förutsatt att du angav relationerna korrekt innan du startade guiden visas frågan Hur ska informationen visas? – alltså efter vilken tabell eller fråga – när du klickar på Nästa. Välj tabellen på "1"-sidan i relationen en till många. I det här exemplet ska formuläret Anställda skapas och därför ska du klicka på efter Anställda . I guiden visas en liten bild på ett formulär. Sidan liknar följande illustration:

    Underformulärsidan i Formulärguiden

    Rutan i den nedre delen av formulärbilden representerar underformuläret.

    Obs!: Om guiden inte frågar Hur vill du visa dina data? betyder det att Access inte upptäckte en 1:N-relation mellan tabellerna eller frågorna som du valde. Guiden fortsätter, men Access lägger inte till ett underformulär i formuläret. Kanske vill du klicka på Avbryt och undersöka tabellrelationerna innan du fortsätter.

  7. Markera Formulär med underformulär längst ned på guidesidan och klicka på Nästa.

  8. Klicka på önskat layoutalternativ på sidan Vilken layout vill du använda för underformuläret? och klicka sedan på Nästa. I båda layoutformaten ordnas underformulärets data i rader och kolumner, men en tabellayout är mer anpassningsbar. Du kan lägga till färg, grafik och andra formatelement i ett tabellunderformulär, medan ett datablad är mer kompakt på samma sätt som en tabells databladsvy.

  9. Välj en formatmall för formuläret på nästa sida i guiden och klicka sedan på Nästa. Om du valde Tabell på föregående sida används den formatmall som du väljer även i underformuläret.

  10. Skriv rubrikerna för formuläret på den sista sidan i guiden. Access namnger formulären baserat på de rubriker du skriver och etiketterar underformuläret baserat på rubriken som du skriver för underformuläret.

  11. Ange om formuläret ska öppnas i formulärvy så att du kan visa och ange information, eller i designvy så att du kan ändra formulärets layout. Klicka sedan på Slutför.

    Access skapar två formulär – ett för huvudformuläret som innehåller underformulärkontrollen och ett för själva underformuläret.

Överst på sidan

Lägga till ett eller flera underformulär i ett befintligt formulär med hjälp av Underformulärguiden

Du kan använda den följande procedur lägga till ett eller flera underformulär i ett befintligt formulär. För varje underformulär kan du välja att Access skapa ett nytt formulär eller använda ett befintligt formulär som underformulär.

  1. Högerklicka på det befintliga formuläret i navigeringsfönstret och klicka sedan på Designvy.

  2. Klicka på nedåtpilen i gruppen Kontroller på fliken Formulärdesign för att visa galleriet Kontroller och kontrollera att Använd kontrollguider är markerat.

  3. Klicka på knappen Underformulär/underrapport i gruppen Kontroller på fliken Formulärdesign.

  4. Klicka på formuläret där du vill placera underformuläret.

  5. Följ anvisningarna i guiden.

    När du klickar på Slutför lägger Access till en underformulärkontroll i formuläret. Om du väljer att låta Access skapa ett nytt formulär för underformuläret i stället för att använda ett befintligt formulär skapar Access det nya formulärobjektet och lägger till det i navigeringsfönstret.

Skapa ett underformulär genom att dra ett formulär till ett annat

Använd följande procedur om du vill använda ett befintligt formulär som huvudformulär och lägga till ett eller flera befintliga formulär som underformulär till det formuläret.

  1. Högerklicka på formuläret i navigeringsfönstret som du vill använda som huvudformulär. Klicka sedan på Layoutvy.

  2. Dra formuläret som du vill använda som underformulär från navigeringsfönstret till huvudformuläret.

    Access lägger till en underformulärkontroll i huvudformuläret och binder kontrollen till formuläret som du drog från navigeringsfönstret. Access försöker också länka underformuläret till huvudformuläret, baserat på relationerna som har definierats i databasen.

  3. Upprepa det här steget om du vill lägga till fler underformulär i huvudformuläret.

  4. Kontrollera att länkningen har genomförts genom att klicka på Visa, Formulärvy i gruppen Vyer på fliken Start, och gå sedan genom flera poster med hjälp av huvudformulärets postväljare. Om underformuläret filtreras på rätt sätt för de enskilda anställda har proceduren genomförts på rätt sätt.

Om föregående test inte fungerar kan Access inte avgöra hur underformuläret ska länkas till huvudformuläret, och egenskaperna Länka underordnade fält och Länka huvudfält för underformulärkontrollen är tomma. Du måste ange dessa egenskaper manuellt på följande sätt:

  1. Högerklicka på huvudformuläret i navigeringsfönstret och klicka på Designvy.

  2. Markera underformulärskontrollen genom att klicka en gång på den.

  3. Om åtgärdsfönstret Egenskapslista inte visas trycker du på F4 så att det visas.

  4. Klicka på fliken Data i egenskapsfönstret.

  5. Klicka på knappen Skapa Knappen Verktyg bredvid egenskapsrutan Länka underordnade fält .

    Dialogrutan Fältlänkar underformulär visas.

  6. Välj fälten som du vill länka formulären till i listrutorna Huvudfält och Underfält, och klicka sedan på OK. Om du är osäker på vilka fält du ska använda klickar du på Föreslå så att Access försöker ta reda på länkningsfälten.

    Tips: Om det fält som du vill använda för att länka formulären inte visas, kanske du måste redigera datakällan till huvudformuläret eller underformuläret. Om formuläret t.ex. baseras på en fråga kontrollerar du att länkfältet finns i frågeresultatet.

  7. Spara huvudformuläret, växla till formulärvyn och kontrollera att formuläret fungerar som det ska.

Öppna ett underformulär i ett nytt fönster i designvyn

Om du vill göra designändringar i ett underformulär medan du arbetar med dess huvudformulär i designvyn kan du öppna underformuläret i ett eget fönster:

  1. Klicka på underformulär för att markera det.

  2. Klicka på Underformulär i nytt fönster i gruppen Verktyg på fliken Formulärdesign.

Överst på sidan

Ändra ett underformulärs standardvy

När du lägger till ett underformulär i ett formulär visar underformulärets/underrapportkontrollen underformuläret enligt egenskapen Standardvy för underformuläret. Denna egenskap kan anges till följande värden:

  • Enstaka formulär

  • Kontinuerliga formulär

  • Datablad

  • Delat formulär

När du skapar ett underformulär för första gången kan den här egenskapen ha värdet Kontinuerliga formulär eller kanske Enstaka formulär. Om du anger ett underformulärs Standardvy-egenskap till Datablad visas dock underformuläret som ett datablad i huvudformuläret.

Så här anger du ett underformulärs Standardvy-egenskap:

  1. Stäng alla öppna objekt.

  2. Högerklicka på underformuläret i navigeringsfönstret och klicka på Designvy.

  3. Om egenskapssidan inte redan visas trycker du på F4 för att öppna den.

  4. Kontrollera att Formulär är markerat i den nedrullningsbara listan längst upp på egenskapssidan.

  5. Ange önskat värde för egenskapen Standardvy på fliken Format på egenskapssidan.

    Obs!: Om den vy du vill använda inte finns med i listan kontrollerar du att "Tillåt... Egenskapen Visa" för vyn är inställd på Ja. Om du t.ex. vill ange Datablad som formulärets standardvy ser du till att egenskapen Tillåt datablad har värdet Ja.

  6. Spara och stäng underformuläret och öppna sedan huvudformuläret och kontrollera resultatet.

Överst på sidan

Lägga till relaterade data i ett formulär utan att skapa ett underformulär

Det är inte alltid säkert att du behöver skapa ett separat formulärobjekt om du vill visa relaterade data. Om du till exempel arbetar med ett formulär i layoutvyn eller designvyn och drar en tabell eller fråga från navigeringsfönstret till formuläret skapar Access en underformulär-/underrapportkontroll som visar data i objektet. Objektets standardvyegenskap avgör hur data visas. Vanligtvis har den värdet Datablad, men du kan även ange en tabells eller frågas Standardvy-egenskap till Enstaka formulär, Delat formulär eller Kontinuerliga formulär, vilket ger större flexibilitet vid visning av relaterade data i formulär.

Obs!: En tabells eller en frågas Standardvy-egenskap styr hur den visas när den öppnas, om den kan öppnas via navigeringsfönstret eller om den visas i en underformulär/-rapportkontroll. Eftersom det kan vara förvirrande att öppna en tabell med ändrade visningsinställningar i navigeringsfönstret, rekommenderar vi att du använder en fråga i stället för en tabell för den här proceduren.

Överst på sidan

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.