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?
-
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
-
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.
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. 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. 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.
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.
-
På fliken Skapa i gruppen Formulär klickar du på Formulärguiden.
-
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.
-
Dubbelklicka på fälten som du vill använda från denna tabell eller fråga.
-
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).
-
Dubbelklicka på fälten som du vill använda från denna tabell eller fråga.
-
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:
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.
-
Markera Formulär med underformulär längst ned på guidesidan och klicka på Nästa.
-
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.
-
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.
-
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.
-
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.
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.
-
Högerklicka på det befintliga formuläret i navigeringsfönstret och klicka sedan på Designvy.
-
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.
-
Klicka på knappen Underformulär/underrapport i gruppen Kontroller på fliken Formulärdesign.
-
Klicka på formuläret där du vill placera underformuläret.
-
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.
-
Högerklicka på formuläret i navigeringsfönstret som du vill använda som huvudformulär. Klicka sedan på Layoutvy.
-
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.
-
Upprepa det här steget om du vill lägga till fler underformulär i huvudformuläret.
-
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:
-
Högerklicka på huvudformuläret i navigeringsfönstret och klicka på Designvy.
-
Markera underformulärskontrollen genom att klicka en gång på den.
-
Om åtgärdsfönstret Egenskapslista inte visas trycker du på F4 så att det visas.
-
Klicka på fliken Data i egenskapsfönstret.
-
Klicka på knappen Skapa bredvid egenskapsrutan Länka underordnade fält .
Dialogrutan Fältlänkar underformulär visas.
-
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.
-
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:
-
Klicka på underformulär för att markera det.
-
Klicka på Underformulär i nytt fönster i gruppen Verktyg på fliken Formulärdesign.
Ä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:
-
Stäng alla öppna objekt.
-
Högerklicka på underformuläret i navigeringsfönstret och klicka på Designvy.
-
Om egenskapssidan inte redan visas trycker du på F4 för att öppna den.
-
Kontrollera att Formulär är markerat i den nedrullningsbara listan längst upp på egenskapssidan.
-
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.
-
Spara och stäng underformuläret och öppna sedan huvudformuläret och kontrollera resultatet.