Använda relationer

Skapa många-till-många-relationer

Din webbläsare har inte stöd för video. Installera Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

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

12

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

12

1

1012

15

1

1012

30

5

Skapa en mellanliggande tabell

  1. Välj Skapa > Tabell.

  2. Välj Spara Spara .

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

Access lägger automatiskt till ett ID-fält som första kolumn. Ä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.

  1. I databladsvyn markerar du ID-kolumnrubriken och anger det nya namnet för fältet.

  2. Markera fältet du precis bytte namn på.

  3. På fliken Fält, under Datatyp, väljer du en datatyp som överensstämmer med fältet i den ursprungliga tabellen, som Tal eller Kort text.

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

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

  1. I designvyn öppnar du den mellanliggande tabellen.

  2. 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.)

  3. Välj Design > Primärnyckel.
    Nyckelikoner visas intill båda ID-fälten.

    Skärmbild av primärnyckel i tabell

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:

Skärmbild av anslutningarna mellan tre databastabeller

Vill du veta mer?

Komma igång med tabellrelationer

Skapa en relation

Ta bort en relation

Excel-utbildning

Outlook-utbildning

Använd en många-till-många-relation mellan tabeller när ett objekt i tabell A kan ha en relation till många objekt i tabell B, och vice versa. Exempelvis kan en produkt finnas i många order och en order kan innehålla många produkter.

I den här demon utökar vi vår databas till ett grundläggande orderuppföljningssystem med tabeller för produkter och order.

Vi lär oss mer om kopplingstabeller och sammansatta nycklar och använder dem med våra andra tabeller för att skapa en många-till-många-relation.

Första steget för att skapa en många-till-många-relation är att skapa en ny tabell.

Det kallas för en ”mellanliggande tabell” och vi kommer att använda den för att lagra data från de andra tabellerna i relationen.

Den mellanliggande tabellen kallas även en ”länkningstabell” eller ”kopplingstabell”.

Därefter skapar du ett par ett-till-många-relationer mellan kopplingstabellen och de andra tabellerna som ingår i relationen.

Som en del av det måste du identifiera båda dessa fält som kopplingstabellens primärnyckel. Detta blir den ”sammansatta nyckeln”.

Vi bygger kopplingstabellen i Designvyn och väljer Skapa, Tabelldesign. Det här är vår nya, tomma tabell.

Nu öppnar vi tabellerna Produkter och Order.

Vi ska titta på de båda tabellernas primärnycklar. Produkttabellen använder ett fält av typen Räknare som kallas Produkt-ID.

Primärnyckeln för tabellen Order kallas Order-ID, och är också ett fält av typen Räknare.

Nu går vi tillbaka till kopplingstabellen där vi anger Produkt-ID, väljer Tal, anger Order-ID och väljer sedan Tal igen.

Nu markerar vi båda fälten. För att göra det placerar du pekaren i den grå rutan intill något av fälten och drar.

När båda fälten är markerade väljer du Primärnyckel i menyfliksområdet. Detta skapar en sammansatt nyckel för kopplingstabellen.

Genom att båda fälten finns i den sammansatta nyckeln säkerställs att varje order och allting i varje order har ett unikt ID.

Tryck på Ctrl+S för att spara kopplingstabellen och ge den namnet Orderinformation.

Vi kan nu skapa relationerna. Börja med att stänga alla öppna tabeller. Välj Databasverktyg och välj sedan Relationer.

Välj Visa tabell på fliken Design. Lägg till tabellerna Orderinformation, Order och Produkter. Stäng dialogrutan.

Ordna tabellerna så att Orderinformation – kopplingstabellen – är i mitten. Dra fältet Order-ID från tabellen Order till kopplingstabellen.

I dialogrutan Redigera relationer väljer du Referensintegritet och sedan Skapa för att skapa relationen.

Gör samma sak med fältet Produkt-ID. Välj Referensintegritet, välj Skapa och sedan är du klar.

Tryck på Ctrl+S för att spara ändringarna i relationsdiagrammet.

Du har nu använt en kopplingstabell och en sammansatt nyckel med dina befintliga tabeller för att skapa en många-till-många-relation i din Access-databas.

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.

×