Skapa, redigera eller ta bort en relation
Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Med relationer i Access kan du kombinera data från två olika tabeller. Varje relation består av fält i två tabeller med motsvarande data. Du kan till exempel ha fältet Produktnr i tabellen Produkter och i tabellen Orderdetaljer. Varje post i tabellen Orderdetaljer har ett Produktnr som motsvarar en post i tabellen Produkter med samma Produktnr.

När du använder relaterade tabeller i en fråga ger relationen Access möjlighet att avgöra vilka poster från varje tabell som ska kombineras i resultatuppsättningen. En relation kan också förhindra att data saknas, genom att se till att borttagna data synkroniseras, och detta kallas referensintegritet.

Se till att du förstår de grundläggande koncepten innan du börjar arbeta med relationer. Mer information finns i Guide till tabellrelationer och Komma igång med tabellrelationer.

Artikelinnehåll

Översikt

I en Access-databas skapar du en tabellrelation på något av följande sätt:

  • Lägg till tabellerna som du vill skapa en relation för i fönstret Relationer, och dra sedan fältet för att skapa relationen från den ena tabellen till den andra.

  • Dra ett fält till tabelldatabladet från fönstret Fältlista.

När du skapar en relation mellan tabeller, behöver de gemensamma fälten inte ha samma namn, även om så ofta är fallet. De gemensamma fälten måste ha samma datatyp. Om primärnyckelfältet är ett Räknare-fält, kan emellertid sekundärnyckelfältet även vara ett talfält om egenskapen Fältstorlek för båda fälten är densamma. Du kan exempelvis matcha ett Räknare-fält med ett talfält om egenskapen Fältstorlek i båda fälten är Långt heltal. Om båda de gemensamma fälten är talfält måste de ha samma inställningar för egenskapen Fältstorlek.

Överst på sidan

Skapa en tabellrelation i fönstret Relationer

  1. På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.

  2. Klicka på Lägg till tabeller i gruppen Relationer på fliken Relationsdesign.

  3. Markera en eller flera tabeller eller frågor och klicka på Lägg till. När du har lagt till tabellerna och frågorna på dokumentfliken Relationer klickar du på Stäng.

  4. Dra ett fält (oftast primärnyckeln) från den ena tabellen till det gemensamma fältet (sekundärnyckeln) i den andra tabellen. Om du vill dra flera fält trycker du på CTRL, och klickar på varje fält innan du drar dem. Dialogrutan Redigera relationer visas.Dialogrutan Redigera relationer i Access med kopplingsfälten Kunder och Order

  5. Kontrollera att fältnamnen som visas gäller för de gemensamma fälten i relationen. Om ett fältnamn är fel kan du åtgärda det genom att klicka du på fältnamnet och välja rätt fält i listan. Om du vill använda referensintegritet för den här relationen markerar du kryssrutan Använd Referensintegritet. Mer information om referensintegritet finns i avsnittet Använda referensintegritet.

  6. Klicka på Skapa.

    En relationslinje ritas mellan de två tabellerna. Om du markerade kryssrutan Referensintegritet är linjen bredare i ändarna. Om du har markerat kryssrutan Referensintegritet visas också siffran 1 ovanför den bredare delen i ena änden av relationslinjen, och oändlighetssymbolen () ovanför den bredare delen i den andra änden, som visas i följande bild.Dra ett fält från en tabell till motsvarande fält i den andra tabellen.

    Meddelanden: 

    • Skapa en 1:1-relation    Båda de gemensamma fälten (vanligtvis primärnyckel- och sekundärnyckelfälten) måste ha unika index. Det innebär att egenskapen Indexerad för dessa fält ska anges till Ja (inga dubbletter). Om båda fälten har unika index, skapas en 1:1-relation i Access.

    • Skapa en 1:N-relation    Fältet på 1-sidan (vanligtvis primärnyckeln) i relationen måste ha ett unikt index. Det innebär att egenskapen Indexerad för det här fältet ska anges till Ja (inga dubbletter). Fältet på N-sidan ska inte ha ett unikt index. Det kan ha ett index, men dubbletter måste tillåtas. Det innebär att egenskapen Indexerad för det här fältet ska anges till Nej eller Ja (dubbletter tillåtna). När ett fält har ett unikt index, och det andra inte, skapas en 1:N-relation i Access.

Överst på sidan

Skapa en tabellrelation i fönstret Fältlista för att lägga till ett fält

Du kan lägga till ett fält i en befintlig tabell som är öppen i databladsvyn genom att dra det från fönstret Fältlista. I fönstret Fältlista visas tillgängliga fält i relaterade tabeller och även fält som är tillgängliga i andra tabeller i databasen.

När du drar ett fält från en ”annan” (icke-relaterad) tabell och sedan slutför Uppslagsguiden, skapas en ny 1:N-relation automatiskt mellan tabellen i fönstret Fältlista och tabellen som du drog fältet till. I den här relationen som skapas av Access används inte referensintegritet som standard. Om du vill använda referensintegritet måste du redigera relationen. Mer information finns i avsnittet Redigera en relation.

Öppna en tabell i databladsvyn

  • Dubbelklicka på tabellen i navigeringsfönstret.

Öppna fönstret Fältlista

  • Tryck på ALT+F8. Fönstret Fältlista visas.

    Fönstret Fältlista

I fönstret Fältlista visas alla de andra tabellerna i databasen, grupperade i kategorier. När du arbetar med en tabell i databladsvyn visas fälten i Access i en av två kategorier i fönstret Fältlista: Tillgängliga fält i relaterade tabeller och Tillgängliga fält i andra tabeller. Den första kategorin innehåller alla tabeller som har en relation till tabellen som du arbetar med. Den andra kategorin innehåller alla tabeller som tabellen inte har någon relation till.

När du klickar på plustecknet (+) bredvid tabellnamnet i åtgärdsfönstret Fältlista visas en lista med alla fält som är tillgängliga i tabellen. Du lägger till ett fält i tabellen genom att dra önskat fält från fönstret Fältlista till tabellen i databladsvyn.

Lägga till ett fält och skapa en relation i fönstret Fältlista

  1. Tryck på ALT+F8 med tabellen öppen i databladsvyn. Fönstret Fältlista visas.

  2. Under Tillgängliga fält i andra tabeller klickar du på plustecknet (+) bredvid ett tabellnamn om du vill visa listan med fält i den tabellen.

  3. Dra önskat fält från fönstret Fältlista till tabellen som är öppen i databladsvyn.

  4. När insättningsraden visas släpper du fältet på rätt plats.

    Uppslagsguiden startar.

  5. Följ anvisningarna i Uppslagsguiden.

    Fältet visas i databladsvyn.

När du drar ett fält från en ”annan” (icke-relaterad) tabell och sedan slutför Uppslagsguiden, skapas en ny 1:N-relation automatiskt mellan tabellen i fönstret Fältlista och tabellen som du drog fältet till. I den här relationen som skapas av Access används inte referensintegritet som standard. Om du vill använda referensintegritet måste du redigera relationen. Mer information finns i avsnittet Redigera en relation.

Överst på sidan

Redigera en relation

Du ändrar en relation genom att välja den i fönstret Relationer och sedan redigera den.

  1. Se till att markören pekar på relationslinjen och klicka sedan på linjen så att den markeras.

    Relationslinjen blir bredare när den markeras.

  2. Dubbelklicka på relationslinjen medan den är markerad.

    eller

    Klicka på Redigera relationer i gruppen Verktyg på fliken Relationsdesign.

Dialogrutan Redigera relationer visas.

Öppna dialogrutan Redigera relationer

  1. På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.

  2. Klicka på Alla relationer i gruppen Relationer på fliken Relationsdesign.

    Alla tabeller med relationer visas tillsammans med relationslinjerna. Observera att dolda tabeller (tabeller där kryssrutan Dold är markerad i tabellens Egenskaper-dialogruta) och deras relationer inte visas, såvida inte kryssrutan Visa dolda objekt är markerad i dialogrutan Navigeringsalternativ.

  3. Klicka på relationslinjen för relationen som du vill ändra. Relationslinjen blir bredare när den markeras.

  4. Dubbelklicka på relationslinjen.

    - eller -

    Klicka på Redigera relationer i gruppen Verktyg på fliken Relationsdesign.

    Dialogrutan Redigera relationer visas.

    Dialogrutan Redigera relationer i Access med kopplingsfälten Kunder och Order

  5. Gör ändringarna och klicka på OK.

    I dialogrutan Redigera relationer kan du ändra en tabellrelation. Du kan ändra tabellerna eller frågorna på vardera sidan om relationen, eller fälten på vardera sida. Du kan också ange kopplingstyp, använda referensintegritet och välja kaskadalternativ. Mer information om kopplingstyper och hur du anger dem finns i avsnittet Ange kopplingstyp. Mer information om hur du använder referensintegritet och hur du väljer ett kaskadalternativ finns i avsnittet Använda referensintegritet.

Ange kopplingstyp

När du definierar en tabellrelation skickas uppgifter om relationen till frågans design. Om du till exempel definierar en relation mellan två tabeller i Access, och sedan skapar en fråga som använder de två tabellerna, väljs matchande fält automatiskt utifrån vilka fält som anges i relationen. Du kan åsidosätta dessa standardvärden i frågan, men värdena som anges i relationen är oftast de bästa. Eftersom du ofta kommer att matcha och sammanföra data från flera tabeller i alla utom de enklaste databaserna, kan det spara tid att använda standardvärdena från relationerna.

I en tabell med flera frågor kombineras information från flera tabeller genom att värdena i de gemensamma fälten matchas mot varandra. Åtgärden som matchar och kombinerar kallas för en koppling. Anta att du vill visa kundorder. Du skapar då en fråga som kopplar tabellen Kunder och tabellen Order via fältet Kundnr. Frågeresultatet innehåller kundinformation och orderinformation för enbart de rader där motsvarande matchning finns.

Ett av värdena som du kan ange för varje relation är kopplingstypen. Kopplingstypen anger vilka poster som ska tas med i frågeresultatet i Access. Tänk dig en fråga som kopplar tabellen Kunder och tabellen Order via det gemensamma fält som representerar Kundnummer. Om du använder standardkopplingstypen (en så kallad inre koppling), returnerar frågan bara de kundrader och orderrader där de gemensamma fälten (de så kallade kopplingsfälten) är desamma.

Anta att du vill ta med alla kunder – även dem som ännu inte har gjort några beställningar. För att kunna göra detta måste du ändra kopplingstypen från inre koppling till vad som kallas en vänster yttre koppling. En vänster yttre koppling returnerar alla rader i tabellen på vänster sida av relationen och bara de som matchar i tabellen till höger. En höger yttre koppling returnerar alla rader till höger och enbart de som matchar till vänster.

Obs!: I det här fallet gäller "vänster" och "höger" tabellernas placering i dialogrutan Redigera relationer, inte i fönstret Relationer.

Fundera igenom vilket resultat som du oftast vill ha ut från frågan som kopplar ihop tabellerna i relationen, och ange sedan lämplig kopplingstyp.

Ange kopplingstyp

  1. Klicka på Kopplingstyp i dialogrutan Redigera relationer.

    Dialogrutan Kopplingsegenskaper visas.Dialogrutan Kopplingsegenskaper i Access visas med tre alternativ för kopplingar. det första alternativet är markerat som anger att endast rader där de kopplade fälten från båda tabellerna ska vara lika.

  2. Välj ditt val och klicka sedan på OK.

I tabellen nedan (med tabellerna Kunder och Order) visas de tre alternativen i dialogrutan Kopplingsegenskaper och vilken koppling som de använder, och om alla rader eller matchande rader inkluderas för varje tabell.

Alternativ

Relationskoppling

Vänster tabell

Höger tabell

1. Ta bara med rader där kopplingsfälten från båda tabellerna är lika.

Inre koppling

Matchande rader

Matchande rader

2. Ta med ALLA poster från Kunder och bara de poster från Order där de kopplade fälten är lika.

Vänster yttre koppling

Alla rader

Matchande rader

3. Ta med ALLA poster från Order och bara de poster från Kunder där de kopplade fälten är lika.

Höger yttre koppling

Matchande rader

Alla rader

När du väljer alternativ 2 eller 3 visas en pil på relationslinjen. Den här pilen pekar mot den sida av relationen som bara visar matchande rader.

Gör ändringarna i dialogrutan Kopplingsegenskaper

  1. Klicka på Relationer i gruppen Relationer på fliken Databasverktyg.

  2. Klicka på Alla relationer i gruppen Relationer på fliken Relationsdesign. Alla tabeller som har relationer visas, med linjer som indikerar relationerna. Observera att dolda tabeller (tabeller där kryssrutan Dold är markerad i tabellens Egenskaper-dialogruta) och deras relationer inte visas, såvida inte kryssrutan Visa dolda objekt är markerad i dialogrutan Navigeringsalternativ.

  3. Klicka på relationslinjen för relationen som du vill ändra. Relationslinjen blir bredare när den markeras.

  4. Dubbelklicka på relationslinjen. Dialogrutan Redigera relationer visas.

  5. Klicka på Kopplingstyp.

  6. Välj ett alternativ i dialogrutan Kopplingsegenskaper och klicka sedan på OK.Dialogrutan Kopplingsegenskaper i Access visas med tre alternativ för kopplingar. det första alternativet är markerat som anger att endast rader där de kopplade fälten från båda tabellerna ska vara lika.

  7. Gör eventuellt fler ändringar av relationen och klicka på OK.

Överst på sidan

Referensintegritet

Syftet med referensintegritet är att förhindra överblivna poster – poster som refererar till andra poster som inte längre finns. Du använder referensintegritet genom att aktivera det för en tabellrelation. När referensintegritet är aktiverat går det inte att utföra några åtgärder i Access som skulle innebära att referensintegriteten i den aktuella tabellrelationen bryts. Det innebär att Access inte tillåter uppdateringar som ändrar målet för en referens, eller borttagningar som tar bort målet för en referens. Om du vill att uppdateringar och borttagningar av referenser i Access ska generera automatiska uppdateringar så att alla relaterade rader ändras på rätt sätt, läser du avsnittet Ange kaskadalternativ.

Aktivera och inaktivera referensintegritet

  1. På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.

  2. Klicka på Alla relationer i gruppen Relationer på fliken Relationsdesign. Alla tabeller med relationer visas, med linjer som indikerar relationerna. Observera att dolda tabeller (tabeller där kryssrutan Dold är markerad i tabellens Egenskaper-dialogruta) och deras relationer inte visas, såvida inte kryssrutan Visa dolda objekt är markerad i dialogrutan Navigeringsalternativ.

  3. Klicka på relationslinjen för relationen som du vill ändra. Relationslinjen blir bredare när den markeras.

  4. Dubbelklicka på relationslinjen. Dialogrutan Redigera relationer visas.

  5. Markera eller avmarkera Referensintegritet.

  6. Gör eventuellt fler ändringar av relationen och klicka på OK.

När du använder referensintegritet gäller följande regler:

  • Du kan inte registrera ett värde i sekundärnyckelfältet för en relaterad tabell om värdet inte finns i primärnyckelfältet för den primära tabellen – då skapas överblivna poster.

  • Du kan inte ta bort ett element från en primärtabell om matchande poster finns i en relaterad tabell. Det går till exempel inte att ta bort en anställd från tabellen Anställda om det finns en order tilldelad den anställda i tabellen Order. Du kan däremot välja att ta bort en primär post och alla relaterade poster i en enda åtgärd genom att markera kryssrutan Ta bort poster i relaterade tabeller.

  • Du kan inte ändra primärnyckelns värde i primärtabellen om det medför att överblivna poster skapas. Du kan till exempel inte ändra ett ordernummer i tabellen Order om det finns radelement tilldelade till den ordern i tabellen Orderdetaljer. Du kan däremot välja att uppdatera en primär post och alla relaterade poster i en enda åtgärd genom att markera kryssrutan Uppdatera poster i relaterade tabeller.

    Meddelanden: Om du får problem med att aktivera referensintegritet, bör du tänka på att följande villkor måste vara uppfyllda:

    • De gemensamma fälten från primärtabellen måste antingen vara en primärnyckel eller ha ett unikt index.

    • De gemensamma fälten måste ha samma datatyp. Det enda undantaget är att ett Räknare-fält kan vara relaterat till ett talfält som har egenskapen Fältstorlek inställd på Långt heltal.

    • Båda tabellerna finns i samma Access-databas. Referensintegritet kan inte användas på länkade tabeller. Om källtabellerna är i Access-format, kan du emellertid öppna databasen där de lagras och aktivera referensintegritet i den databasen.

Ange kaskadalternativ

Ibland kanske du ändå måste ändra värdet på 1-sidan av en relation. I så fall måste alla rader som påverkas uppdateras automatiskt i en enda åtgärd i Access. På så sätt sker uppdateringen i sin helhet så att databasen inte blir inkonsekvent – så att vissa rader är uppdaterade och andra inte. I Access kan du undvika det här problemet med hjälp av alternativet Uppdatera poster i relaterade tabeller. När du aktiverar referensintegritet och använder alternativet Uppdatera poster i relaterade tabeller i Access, och sedan uppdaterar en primärnyckel, uppdateras alla fält som refererar till primärnyckeln automatiskt.

Du kanske också måste ta bort en rad och alla relaterade poster – till exempel en speditörpost och alla relaterade order för den speditören. Därför innehåller Access alternativet Ta bort poster i relaterade tabeller. När du använder referensintegritet och väljer alternativet Ta bort poster i relaterade tabeller i Access, tas alla poster som refererar till primärnyckeln bort automatiskt när du tar bort en post som innehåller primärnyckeln.

Aktivera och inaktivera kaskaduppdatering och/eller kaskadborttagning

  1. På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.

  2. Klicka på Alla relationer i gruppen Relationer på fliken Relationsdesign. Alla tabeller med relationer visas, med linjer som indikerar relationerna. Observera att dolda tabeller (tabeller där kryssrutan Dold är markerad i tabellens Egenskaper-dialogruta) och deras relationer inte visas, såvida inte kryssrutan Visa dolda objekt är markerad i dialogrutan Navigeringsalternativ.

  3. Klicka på relationslinjen för relationen som du vill ändra. Relationslinjen blir bredare när den markeras.

  4. Dubbelklicka på relationslinjen. Dialogrutan Redigera relationer visas.

  5. Markera kryssrutan Referensintegritet.

  6. Markera antingen kryssrutan Uppdatera poster i relaterade tabeller eller Ta bort poster i relaterade tabeller eller markera båda.

  7. Gör eventuellt fler ändringar av relationen och klicka på OK.

Obs!: Om primärnyckeln är ett Räknare-fält har kryssrutan Uppdatera poster i relaterade tabeller ingen effekt, eftersom du inte kan ändra värdet i ett Räknare-fält.

Överst på sidan

Ta bort en tabellrelation

Viktigt!: När du tar bort en relation tar du också bort stödet för referensintegritet för relationen, om det är aktiverat. Därför går det inte längre att automatiskt förhindra att överblivna poster skapas på N-sidan av en relation.

Om du vill ta bort en tabellrelation måste du ta bort relationslinjen i fönstret Relationer. Se till att markören pekar på relationslinjen och klicka sedan på linjen. Relationslinjen blir bredare när den markeras. Tryck på Delete när relationslinjen är markerad.

  1. På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.

  2. Klicka på Alla relationer i gruppen Relationer på fliken Relationsdesign. Alla tabeller med relationer visas, med linjer som indikerar relationerna. Observera att dolda tabeller (tabeller där kryssrutan Dold är markerad i tabellens Egenskaper-dialogruta) och deras relationer inte visas, såvida inte kryssrutan Visa dolda objekt är markerad i dialogrutan Navigeringsalternativ.

  3. Klicka på relationslinjen för relationen som du vill ta bort. Relationslinjen blir bredare när den markeras.

  4. Tryck på DEL.

  5. Meddelandet Vill du ta bort den markerade relationen från databasen? kanske visas i Access. Om så är fallet klickar du på Ja.

Obs!: Om någon av tabellerna som ingår i en relation används – kanske av en annan person eller process, eller i ett öppet databasobjekt (till exempel ett formulär) – går det inte att ta bort relationen. Du måste stänga alla öppna objekt som använder dessa tabeller innan du kan ta bort relationen.

Överst på sidan

Se även

Lägg till ett uppslagsfält i en tabell

Vad är fönstret Relationer?

Jämför två tabeller i Access och sök enbart efter matchande data

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.