Video: skapa många-till-många-relationer
Applies To
Access för Microsoft 365 Access 2021 Access 2019 Access 2016Prova själv!
Vad är en många-till-många-relation?
Många-till-många-relationer är de mest använda tabellrelationerna. De tillhandahåller viktig information, som vilka kunder dina säljare kontaktat och vilka produkter som ingår i kundorder.
En många-till-många-relation uppstår när en eller fler poster i en tabell kan ha en relation till en eller fler poster i en annan tabell. Exempel:
-
Tabellen Order innehåller beställningar från olika kunder (som finns i tabellen kunder), och en kund kan göra mer än en beställning.
-
Tabellen Produkter innehåller de olika produkter du säljer, som ingår i många olika beställningar i tabellen Order.
-
En beställning kan inkludera en instans (eller fler än en instans) av en specifik produkt och/eller en instans (eller fler än en instans) av flera produkter.
Kunden Elizabeth Andersens ordernummer 1012 kan innehålla en var av produkterna 12 och 15 och fem av produkt 30.
Skapa många-till-många-relationer
Många-till-många-relationer skapas annorlunda än 1:1-relationer eller ett-till-många-relationer. För dessa relationer kopplar du bara ihop lämpliga fält med en linje. För att skapa många-till-många-relationer måste du skapa en ny tabell för att koppla samman de andra två. Denna nya tabell kallas en mellanliggande tabell (eller ibland en länkningstabell eller kopplingstabell).
I scenariot som beskrivs tidigare skapade du tabellen Orderinformation med poster som, för varje post i en viss order, innehöll ID från tabellen Order och ID från tabellen Produkter. Du skapar en primärnyckel för tabellen genom att använda de kombinerade nycklarna från de två tabellerna.
I vårt scenario består Elizabeth Andersens ordernummer 1012 av produkterna 12, 15, och 30. Det innebär att posterna i Orderinformation ser ut så här:
Order ID |
Produkt-ID |
---|---|
1012 |
1,2 |
1012 |
15 |
1012 |
30 |
Elizabeth beställde en var av produkterna 12 och 15, och fem av produkt 30. Vi kan inte lägga till ytterligare en rad med 1012 och 30 eftersom kombinationen av Order-ID och Produkt-ID utgör primärnyckeln, och primärnycklar måste vara unika. Vi lägger i stället till fältet Antal i tabellen Orderinformation.
Order ID |
Produkt-ID |
Antal |
---|---|---|
1012 |
1,2 |
1 |
1012 |
15 |
1 |
1012 |
30 |
5 |
Skapa en mellanliggande tabell
-
Välj Skapa > Tabell.
-
Välj Spara .
-
Ange ett beskrivande tabellnamn. För att beskriva dess syfte kan det vara bra att ta med koppling eller mellanliggande i tabellnamnet.
Skapa fält i den mellanliggande tabellen
Som den första tabellkolumnen lägger Access automatiskt till ett ID-fält. Ändra fältet så det överensstämmer med ID för den första tabellen i många-till-många-relationen. Om det första fältet exempelvis är en ordertabell som kallas Order-ID och dess primärnyckel är ett tal, ändrar du namnet på ID-fältet i den nya tabellen till Order-ID och använder Tal som datatyp.
-
I databladsvyn markerar du ID-kolumnrubriken och anger det nya namnet för fältet.
-
Markera fältet du precis bytte namn på.
-
På fliken Tabellfält under Datatyp väljer du en datatyp som matchar fältet i den ursprungliga tabellen, till exempel Tal eller Kort text.
-
Välj Klicka för att lägga till och välj sedan en datatyp som överensstämmer med primärnyckeln i den andra tabellen. I kolumnrubriken, som redan är vald, skriver du namnet på primärnyckelfältet från den andra tabellen, som Produkt-ID.
-
Om du behöver ta fram annan information om dessa poster, som produktantal, skapar du ytterligare fält.
Kombinera primära ID-fält
När du nu har fält som innehåller ID från de två tabeller du vill koppla samman, skapar du en primärnyckel baserad på dessa ID i den mellanliggande tabellen.
-
I designvyn öppnar du den mellanliggande tabellen.
-
Välj båda raderna som innehåller de ID du behöver. (Om du följde instruktionerna här är det de första två kolumnerna.)
-
Välj Tabelldesign > primärnyckel.
Tangentikoner visas bredvid båda ID-fälten.
Förbinda de tre tabellerna för att skapa många-till-många-relationen
För att slutföra många-till-många-relationen skapar du en ett-till-många-relation mellan primärnyckelfältet i varje tabell och motsvarande fält i den mellanliggande tabellen. Mer information om hur du gör detta finns i Komma igång med tabellrelationer.
När du är klar ska relationerna se ut ungefär så här: