Skapa ett formulär som innehåller ett underformulär (ett 1:N-formulär)

Skapa ett formulär som innehåller ett underformulär (ett 1:N-formulär)

När du arbetar med relationsdata (relaterade data som lagras i separata tabeller) behöver du ofta visa flera tabeller eller frågor i samma formulär. Du kanske t.ex. vill visa kunddata från en tabell och information om kundorder från en annan tabell samtidigt. Med underformulär kan du göra detta på ett behändigt sätt. Access innehåller många metoder som gör det enkelt att snabbt skapa underformulär.

Obs!: Den här artikeln gäller inte för Access-webbappar – den sortens databas som du utformar med Access och publicerar online.

Vad vill du göra?

Mer information om underformulär

Skapa eller lägga till ett underformulär

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

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

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

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

Ändra ett underformulärs standardvy

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

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 är kopplade så att endast poster som är relaterade till den aktuella posten i huvudformuläret visas i underformuläret. Om t.ex. Lena Perssons information visas i huvudformuläret så visas endast hennes order i underformuläret. Om formuläret och underformuläret inte var länkade till varandra skulle alla order visas i underformuläret, inte bara Lenas.

Följande tabell innehåller definitioner av viss terminologi som används om underformulär. De flesta detaljer hanteras i Access om du följer procedurerna i den här artikeln, men det kan vara lämpligt att veta vad som egentligen händer om du skulle behöva ändra något vid ett senare tillfälle.

Villkor

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. Om du gör det kan länkarna skapas automatiskt i Access mellan underformulären och huvudformulären. Du kan visa, lägga till och ändra relationerna mellan databasens tabeller genom att klicka på Relationer på fliken Databasverktyg i gruppen Visa/dölj.

  • 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 skapa både ett huvudformulär och ett underformulär i Access och koppla 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 vill samtidigt 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. Observera att om du använder Access 2007 klickar du på Skapa > Fler formulär (i gruppen Formulär) > 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 frågan Hur ska informationen visas? inte visas i guiden innebär det att ingen en till många-relation har kunnat identifieras mellan de tabeller eller frågor du valde i Access. Guiden fortsätter men det läggs inte till något 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. Formulär namnges utifrån vilka rubriker du skriver, och underformulär får etiketter utifrån rubriken du anger 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.

    Två formulär skapas i Access – 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. Du kan välja att skapa ett nytt formulär eller använda ett befintligt formulär för varje underformulär.

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

  2. Klicka på nedpilen i gruppen Kontroller på fliken Design så att galleriet Kontroller visas. Kontrollera att Använd kontrollguider är markerat.

  3. Klicka på knappen Underformulär/-rapport i gruppen Kontroller på fliken Design.

  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äggs en underformulärkontroll till i formuläret i Access. Om du väljer ett nytt i stället för befintligt formulär för underformuläret skapas det nya formulärobjektet och läggs till i navigeringsfönstret i Access.

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.

    En underformulärkontroll läggs till i huvudformuläret och kontrollen kopplas till formuläret som du drog från navigeringsfönstret. Det utförs även ett försök i Access att länka underformuläret till huvudformuläret, baserat på relationerna som du har definierat 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 har det inte gått att fastställa hur underformuläret ska länkas till huvudformuläret i Access, vilket innebär att underformulärets egenskaper Länka från och Länka till saknar värden. 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 egenskpsrutan Länka underfä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 inte vet vilka fält som ska användas klickar du på Föreslå så att det sker ett försök i Access att avgöra vilka länkfälten är.

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

Överst på sidan

Ändra ett underformulärs standardvy

När du lägger till ett underformulär i ett formulär visas underformuläret enligt dess Standardvy-egenskap i underformulärets eller underrapportens kontroll. 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 vyn du vill använda saknas i listan kontrollerar du att vyns ”Tillåt ... vy”-egenskap har värdet 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 t.ex. arbetar med ett formulär i layout- eller designvy och drar en tabell eller fråga från navigeringsfönstret till formuläret, skapas en underformulär/-rapportkontroll där data i objektet visas. Objektets Standardvy-egenskap 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

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×