Skapa och använda underrapporter

När du arbetar med relationsdata (där relaterade data lagras i separata tabeller) behöver du ofta visa information från mer än en tabell eller fråga i samma rapport. Till exempel kanske du vill visa data om en kund, men också information om kundens beställningar samtidigt. Då är en underrapport ett bra verktyg i Access. Med underrapporter kan du visa orderinformation tillsammans med kundinformationen, på ett logiskt och läsbart sätt. I Access finns många sätt att snabbt skapa underrapporter på.

Vad vill du göra?

Förstå underrapporter

Skapa en underrapport

Göra designändringar i en underrapport

Förstå underrapporter

En underrapport är en rapport som infogas i en annan rapport. När du kombinerar rapporter måste en av dem fungera som en huvudrapport som innehåller den andra rapporten. En huvudrapport är antingen bunden eller obunden. En bunden rapport är en rapport som kan visa data och innehåller en tabell, fråga, eller ett SQL-uttryck som anges i rapportens egendom för Datakälla. En obunden rapport är en rapport som inte är baserad på en tabell, en fråga eller ett SQL-uttryck (egendomen Datakälla för rapporten är då tom).

Exempel på en obunden huvudrapport med två orelaterade underrapporter    

En obunden huvudrapport kan inte på egen hand visa data, men kan ändå fungera som huvudrapport för orelaterade underrapporter som du vill kombinera.

Obunden huvudrapport med två underrapporter som visar orelaterade data

1. Den obundna huvudrapporten innehåller två underrapporter.

2. En underrapport sammanfattar försäljning efter medarbetare.

3. Den andra underrapporten sammanfattar försäljning efter kategori.

Exempel på en huvudrapport och underrapport som är bundna till samma datakälla    

Du kan använda huvudrapporten för att visa detaljposter, som alla försäljningar under ett år, och sedan använda en underrapport för att visa översiktsinformation, som de totala försäljningarna för varje kvartal.

Huvudrapport och underrapport som är bundna till samma datakälla

1. Underrapporten sammanfattar årets försäljningar efter kvartal.

2. Huvudrapporten visar den dagliga försäljningen.

Exempel på en huvudrapport och en underrapport som är bundna till relaterade datakällor    

En huvudrapport kan innehålla data som är gemensamma för en eller flera underrapporter. I det här fallet innehåller underrapporten data som är relaterade till datan i huvudrapporten.

Huvudrapport med två underrapporter som visar relaterade data

1. I huvudrapporten visas namn på alla mässor och vilka städer de hålls i.

2. I underrapporten framgår vilka representanter som kommer att delta vid de olika mässorna.

Underformulär i en rapport

Förutom underrapporter kan en huvudrapport också innehålla underformulär, och den kan innehålla så många underformulär och underrapporter som du vill. Dessutom kan en huvudrapport innehålla upp till sju nivåer med underformulär och underrapporter. En rapport kan till exempel innehålla en underrapport, och den underrapporten kan innehålla ett underformulär eller en underrapport och så vidare, upp till sju nivåer.

Om du lägger till ett underformulär i en rapport och öppnar rapporten i rapportvyn, kan du använda underformuläret för att filtrera och navigera bland posterna. VBA-kod (Visual Basic for Applications) och inbäddade makron som är kopplade till formuläret och dess kontroller körs fortfarande även om några händelser är inaktiverade i det här sammanhanget. Du kan inte lägga till, redigera eller ta bort poster med hjälp av ett underformulär i en rapport.

Länka en rapport till ett underformulär eller en underrapport

När du infogar ett underformulär eller en underrapport som innehåller information som är relaterad till data i huvudrapporten, måste underrapportkontrollen länkas till huvudrapporten. Länken säkerställer att de poster som visas i underformuläret eller underrapporten överensstämmer med de poster som skrivs ut i huvudrapporten.

När du skapar ett underformulär eller en underrapport med hjälp av en guide eller genom att dra ett objekt från navigeringsfönstret till en rapport, länkar Access automatiskt underformuläret eller underrapporten till huvudrapporten om något av följande villkor uppfylls.

  • Du definierar relationer för de tabeller du väljer, eller definierar relationer för de tabeller som ligger under frågorna du väljer.

  • Huvudrapporten baseras på en tabell med en primärnyckel, och underformuläret eller underrapporten baseras på en tabell som innehåller ett fält med samma namn som den primära nyckeln och har samma eller en kompatibel datatyp. Om till exempel den primära nyckeln för huvudrapportens underliggande tabell är ett Räknare-fält, och dess egendom Fältstorlek anges till Långt heltal, måste motsvarande fält i tabellen som ligger under underformuläret eller underrapporten vara ett talfält med egenskapen Fältstorlek inställd på Långt heltal. Om du väljer en fråga eller flera frågor som datakälla för ett underformulär eller en underrapport måste de underliggande tabellerna i frågan eller frågorna uppfylla samma villkor.

Överst på sidan

Skapa en underrapport

Om underrapporten ska länkas till huvudrapporten, kontrollera att de underliggande datakällorna är relaterade innan du använder följande procedur.

Använda underrapportguiden för att skapa en underrapport

Den här proceduren förutsätter att du redan har en rapport som du vill lägga till en underrapport i. Mer information om att skapa en rapport finns i artiklarna Skapa en enkel rapport eller Skapa en grupperad rapport eller sammanfattningsrapport.

  1. I navigeringsfönstret högerklickar du på rapporten som du vill lägga till en underrapport i och sedan klickar du på Designvy.

  2. På fliken Design, i gruppen Kontroller öppnar du galleriet för kontroller genom att klicka på nedåtpilen i det nedre högra hörnet:

    Bild av menyflik

  3. På menyn som visas ser du till att Använd kontrollguider är markerad.

  4. Öppna galleriet för kontroller igen och klicka sedan på Underformulär/Underrapport.

  5. I rapporten klickar du där du vill placera underrapporten.

  6. Om en dialogruta för säkerhetsmeddelanden visas, klickar du på Öppna att starta guiden.

  7. På första sidan i underrapportguiden klickar du på Använd befintliga tabeller och frågor om du vill skapa ett nytt underformulär eller en ny underrapport och basera den på en tabell eller fråga. Om du har en befintlig rapport eller ett formulär som du vill använda som underrapport, klicka på Använd en befintlig rapport eller ett befintligt formulär, markera rapporten eller formuläret i listan och klicka sedan på Nästa.

    Välja datakälla i underrapportguiden

    Obs!:  Om det inte finns några rapporter eller formulär i databasen är listan tom och alternativet Använd en befintlig rapport eller ett befintligt formulär är inte tillgängligt.

  8. Om du valde Använd en befintlig rapport eller ett befintligt formulär på den föregående sidan i guiden kan du gå direkt till steg 9. Annars väljer du den tabell eller fråga som innehåller de fält du vill ha med i underrapporten från listan Tabeller/frågor och dubbelklickar sedan på fälten som du vill ha med i listan Tillgängliga fält för att lägga till dem i underrapporten.

    Välja fält i underrapportguiden

    Om du planerar att länka underrapporten till huvudrapporten ser du till att inkludera fältet eller fälten som ska användas för att skapa länken, även om du inte vill att de ska visas. Vanligtvis är det länkade fältet ett ID-fält. I bilden ovan är datakällan för underrapporten tabellen Order, och tabellen Kunder är datakällan för huvudrapporten. Eftersom tabellen Order är relaterad till tabellen Kunder genom fältet Kundnr. läggs det fältet till i listan Markerade fält.

    Obs!: Du kan ta med fält från flera tabeller och frågor i underrapporten. När du är klar med att lägga till fält från en tabell markerar du nästa tabell eller fråga från listan Tabeller/frågor och lägger sedan till de fält som du vill använda.

    Klicka på Nästa för att fortsätta.

  9. På den här sidan i guiden kan du bestämma hur du länkar underrapporten till huvudrapporten. Om Access hittar fält som verkar vara lämpliga för att länka underrapporten till huvudrapporten, visas en lista med möjliga länkningsförslag i guiden.

    Access föreslår fält för länkning i underrapportguiden

    Du kan välja de länkningsförslag som verkar mest lämpliga för din situation. Om du inte vill länka underrapporten till huvudrapporten väljer du Ingen. Om du vill länka underrapporten till huvudrapporten, men inget av förslagen verkar passa, klickar du på Definiera egen.

    Obs!: Om guiden inte hittar lämpliga fält för att länka kan den inte tillhandahålla en lista med länkningsförslag. Alternativet Definiera egen markeras automatiskt.

    Definiera dina egna länkar i underrapportguiden

    När alternativet Definiera egen är markerat visar guiden två uppsättningar listor.

    • Under fälten Formulär/rapport markerar du det eller de fält från rapporten du vill använda för att länka huvudrapporten till underformuläret eller underrapporten. Du kan välja upp till tre fält, och varje fält du väljer måste matcha ett relaterade fält i underformulärets eller underrapportens datakälla.

    • Under fälten Underformulär/underrapport markerar du motsvarande fält från underformuläret eller underrapporten som länkar till huvudrapportfälten som du markerat.

    • Se till att alla listor är tomma om du inte vill att underformuläret eller underrapporten ska länkas till huvudrapporten.

      Klicka på Nästa för att fortsätta.

  10. Skriv ett namn för underformuläret eller underrapporten på sista sidan i guiden, eller klicka på Slutför för att acceptera standardvärdet.

    Lägga till ett namn i underrapportguiden

Access lägger till en kontroll för underrapporten i rapporten och binder kontrollen (det vill säga anger egenskapen Källobjekt för kontrollen) enligt följande:

  • Om du har valt Använd en befintlig rapport eller ett befintligt formulär på den första sidan i guiden binder Access underrapportkontrollen till rapporten eller formuläret som du angett.

  • Om du valde Använd befintliga tabeller och frågor på den första sidan i guiden, skapar Access ett nytt rapportobjekt i navigeringsfönstret och binder sedan underrapportkontrollen till det. Namnet på det nya rapportobjektet är detsamma som det namn du angav på den sista sidan i guiden.

Lägga till en tabell, fråga, rapport eller ett formulär som en underrapport

Ett snabbt sätt att lägga till en underrapport i en rapport är att öppna huvudrapporten i layout- eller designvyn och sedan dra ett objekt till den i navigeringsfönstret. Om du vill att underrapporten ska länkas till huvudrapporten ser du till att de underliggande datakällorna är relaterade och att datakällorna innehåller de fält som ska användas för att länka underformuläret eller underrapporten till huvudrapporten.

  1. I navigeringsfönstret högerklickar du på den rapport du vill använda som huvudrapport och sedan klickar du på Layoutvy eller Designvy på snabbmenyn.

  2. Dra en tabell, fråga, ett formulär eller en annan rapport från navigeringsfönstret till delen i huvudrapporten där du vill att underrapporten ska visas.

Access gör något av följande:

  • Om Access kan avgöra hur de två objekten ska länkas, lägger Access till en underrapportkontroll i rapporten. Om du lägger till ett formulär eller en rapport binder Access den underrapportkontrollen till objektet. Om du lägger till en tabell eller fråga skapar Access först ett rapportobjekt och binder sedan underrapportkontrollen till det nya objektet.

  • Om Access inte kan avgöra hur du de två objekten ska länkas, visas underrapportguiden. Om du vill fortsätta följer du instruktionerna i avsnittet Använd underrapportguiden för att skapa en underrapport. Börja på steg 9.

    När du har slutfört guiden lägger Access till underrapporten i rapporten.

Använd följande procedur för att kontrollera att underformuläret eller underrapporten är korrekt länkad till huvudrapporten.

  1. Klicka på underrapportkontrollen för att välja den.

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

  3. På fliken Data på egenskapssidan kan du kontrollera egenskaperna Länka huvudfält och Länka underordnade fält.

    • För olänkade underformulär och underrapporter ska båda dessa egenskaper lämnas tomma.

    • För länkade underformulär eller underrapporter bör egenskaperna Länka huvudfält och Länka underordnade fält visa fältet eller fälten som kopplar samman de två objekten. Om exempelvis huvudrapporten visar information från tabellen Anställda och underformuläret eller underrapporten visar information från tabellen Order, bör egenskapen Länka huvudfält visa ID-fältet från tabellen Anställda och egenskapen Länka underordnade fält bör visa fältet Anställnings-ID från tabellen Order.

Du kanske upptäcker att dessa egenskaper behöver redigeras för att underformuläret eller underrapporten ska fungera korrekt. Använd följande procedur.

  1. På fliken Data på egenskapssidan klickar du i rutan för egenskapen Länka huvudfält och sedan klickar du på knappen Skapa Bild av knapp .

    Dialogrutan Fältlänkar underrapport visas.

    Dialogrutan Fältlänkar underrapport

  2. I listorna Huvudfält och Underfält markerar du de fält du vill länka rapporterna med. Om du är osäker på vilka fält du ska använda klickar du på Föreslå så försöker Access att avgöra vilka länkningsfält som bör användas. Klicka på OK när du är klar.

    Om det fält som du vill använda för att länka rapporten inte visas, kanske du behöver redigera datakällan för huvudrapporten eller underformuläret eller underrapporten för att säkerställa att den innehåller länkningsfältet. Om rapporten till exempel baseras på en fråga kontrollerar du att länkfältet finns i frågeresultaten.

  3. Spara huvudrapporten och växla till rapportvyn, och kontrollera sedan att rapporten fungerar som väntat.

Lägga till en tabell eller fråga i en rapport som ett datablad

Ett datablad är en enkel visualisering av data som liknar ett kalkylblad. Varje kolumn i ett datablad representerar ett fält i källtabellen eller frågan, och varje rad representerar en post. Du kan använda kontrollen Underformulär/underrapport för att visa ett datablad i en rapport. Det här är en bra metod att använda i situationer där du vill ha en komprimerad datavisning, men inte behöver formateringsfunktionerna i ett formulär eller ett rapportobjekt. Så här lägger du till ett datablad i en rapport:

  1. I navigeringsfönstret högerklickar du på den rapport som du vill använda som huvudrapport och sedan klickar du på Designvy på snabbmenyn.

  2. På fliken Design, i gruppen Kontroller, öppnar du galleriet för kontroller genom att klicka på nedåtpilen i det nedre högra hörnet:

    Bild av menyflik

  3. På menyn som visas ser du till att Använd kontrollguider inte har markerats.

  4. Öppna galleriet för kontroller igen och klicka sedan på Underformulär/Underrapport.

  5. I rapporten klickar du där du vill placera underrapporten.

  6. Om underrapportguiden startas klickar du på Avbryt för att stänga den.

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

  8. På rapporten klickar du på den nya underrapportkontrollen för att välja den.

  9. På fliken Data på egenskapssidan klickar du på pilen i rutan för egenskapen Källobjekt och sedan klickar du på tabellen eller frågan som du vill visa i underrapportkontrollen. Om du till exempel vill visa tabellen Order klickar du på Table.Orders.

    Access försöker länka databladet till huvudrapporten baserat på relationerna som definierats i databasen.

  10. På fliken Data på egenskapssidan kan du kontrollera egenskaperna Länka huvudfält och Länka underordnade fält.

    • Se till att båda dessa egenskaper är tomma för olänkade datablad.

    • För länkade datablad ser du till att egenskaperna Länka huvudfält och Länka underordnade fält visar fältet eller fälten som kopplar samman de två objekten med databladet. Om exempelvis huvudrapporten visar information från tabellen Anställda och databladet visar information från tabellen Order, bör egenskapen Länka huvudfält visa ID-fältet från tabellen Anställda och egenskapen Länka underordnade fält fältet Anställnings-ID från tabellen Order.

I vissa fall kan du själv behöva ange fältegenskaper för länken. Du kan göra detta på följande sätt.

  1. På fliken Data på egenskapssidan klickar du i rutan för egenskapen Länka huvudfält och sedan klickar du på knappen Skapa Bild av knapp .

  2. Om en dialogruta för säkerhetsmeddelanden visas, klickar du på Öppna.

    Dialogrutan Fältlänkar underrapport visas.

    Dialogrutan Fältlänkar underrapport

  3. I listorna Huvudfält och Underfält markerar du de fält du vill använda för att länka huvudrapporten till databladet. Om du är osäker på vilka fält du ska använda klickar du på Föreslå så försöker Access att avgöra länkningsfältet. Klicka på OK när du är klar.

    Om du inte ser ett länkningsfält som du vill använda kanske du behöver redigera datakällan för huvudrapporten eller databladet för att säkerställa att den innehåller länkningsfältet. Om databladet till exempel baseras på en fråga bör du kontrollera att länkfältet finns i frågeresultaten.

  4. Spara huvudrapporten och växla till rapportvyn, och kontrollera sedan att rapporten fungerar som väntat.

Överst på sidan

Göra designändringar i en underrapport

När du lägger till en underrapport i en rapport kanske du vill göra designändringar i underrapporten, eller så kanske du vill hänvisa till underrapportdata i huvudrapporten. Följande avsnitt innehåller tips om hur du utför de här uppgifterna.

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

Om du vill göra designändringar i ett underformulär eller en underrapport medan du arbetar med dess huvudrapport i designvyn kan du öppna underformuläret eller underrapporten i ett eget fönster.

  1. Klicka på underformuläret eller underrapporten för att markera det/den.

  2. Klicka på Underrapport i nytt fönster i gruppen Verktyg på fliken Design.

Obs!: Det här kommandot är inte tillgängligt om kontrollen för underformuläret/underrapporten är bunden till en tabell eller fråga.

Visa en summa från en underrapport i huvudrapporten

Anta att du använder en underrapport med namnet Order underrapport som innehåller en textruta som heter Total fraktavgift, och att den textrutan beräknar summan för kolumnen Fraktavgift. Om du vill visa summan från underrapporten i huvudrapporten måste du lägga till en textruta i huvudrapporten och sedan använda ett uttryck för att referera till textrutan Total fraktavgift i underrapporten. Du kan göra detta på följande sätt.

  1. I navigeringsfönstret högerklickar du på huvudrapporten och klickar sedan på Designvy på snabbmenyn.

  2. Öppna fliken Design. Gå till gruppen Kontroller och klicka på Textruta.

  3. I huvudrapporten klickar du där du vill placera den nya textrutan.

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

  5. På fliken Data på egenskapssidan, i rutan för egenskapen Kontrollkälla, skriver du följande uttryck.

    =OOM(ÄRFEL([Order underrapport].[Rapport]![Total fraktavgift]),0,[Order underrapport].[Rapport]![Total fraktavgift])

    Meddelanden: 

    • I det här exemplet kan du använda det enklare uttrycket =[Order underrapport].[Rapport]![Total fraktavgift] men om underrapporten sedan inte innehåller några data, returnerar kontrollen i huvudrapporten #FEL. Med hjälp av funktionen ÄRFEL i funktionen OOM, som visas i det första uttrycket, säkerställer du att textrutan i huvudrapporten visar en nolla (0) om underrapporten inte returnerar några data.

    • Du kan använda uttrycksverktyget för att skapa uttrycket genom att klicka på knappen Skapa Bild av knapp i rutan för egenskapen Kontrollkälla.

  6. På fliken Format på egenskapssidan anger du egenskapen Format till ett lämpligt värde (i det här fallet Valuta).

  7. Spara rapporten och växla sedan till rapportvyn för att kontrollera att beräkningen fungerar som väntat.

Överst på sidan

Utöka dina Office-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.

×