Skapa, redigera eller ta bort en relation

Obs!:  Vi vill kunna erbjuda dig bästa möjliga supportinnehåll så fort som möjligt och på ditt språk. Den här sidan har översatts med hjälp av automatiserad översättning och kan innehålla grammatiska fel eller andra felaktigheter. Vår avsikt är att den här informationen ska vara användbar för dig. Vill du berätta för oss om informationen är till hjälp längst ned på sidan? Här är artikeln på engelska som referens.

Med relationer kan du kombinera data från två olika tabeller. En relation består av fält i två tabeller med motsvarande data. Det kan till exempel finnas ett ProduktID-fält både i tabellen Produkter och i tabellen OrderDetaljer. Varje post i tabellen OrderDetaljer har ett ProduktID som motsvarar en post i tabellen Produkter med samma ProduktID.

När du använder relaterade tabeller i en fråga kan Access genom relationen avgöra vilka poster i varje tabell som ska kombineras i resultatuppsättningen. Relationen kan också förebygga dataförluster genom att hålla borttagna data synkroniserade.

Obs!: I den här artikeln gäller inte för Access-webbprogram.

I den här artikeln

Översikt

Skapa en Tabellrelation med hjälp av fönstret Relationer

Skapa en Tabellrelation genom att lägga till ett fält med fönstret Fältlista

Skapa eller ändra en relation i en Access 2010-Webbdatabas

Redigera en relation

Använda referensintegritet

Ta bort en Tabellrelation

Översikt

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

  • Lägg till de tabeller du vill relatera i fönstret Relationer och dra sedan fälten så att de relateras från en tabell till en annan.

  • Dra ett fält till ett tabelldatablad 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 också 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.

Relationer i Access 2010-webbdatabaser

Viktigt!: Fönstret Relationer är inte tillgängligt i en Access 2010-webbdatabas.

I en Access 2010-webbdatabas skapar du en relation med Uppslags- och relationsguiden. Du lägger till ett nytt fält i en av tabellerna och det nya fältet får då sina värden genom att slå upp dem i en befintlig tabell.

Om du vill ändra en relation i en webbdatabas markerar du det relaterade fältet och kör sedan Uppslagsguiden igen för att ändra relationen.

Överst på sidan

Skapa en tabellrelation i fönstret Relationer

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

    Viktigt!: Fönstret relationer är inte tillgänglig i ett Access-program. Om du vill skapa en relation i ett Access-program finns i anvisningarna i Skapa en relation.

  2. Om du ännu inte har definierat några relationer visas dialogrutan Visa tabell automatiskt. Om den inte visas klickar du på Visa tabell i gruppen Relationer på fliken Design.

    Dialogrutan Visa tabell innehåller alla tabeller och frågor i databasen. Om du bara vill visa tabeller klickar du på Tabeller. Om du bara vill visa frågor klickar du på Frågor. Om du vill visa båda klickar du på Båda.

  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 (vanligtvis primärnyckeln) från en tabell till de gemensamma fälten (sekundärnyckeln) i den andra tabellen. Om du vill dra flera fält trycker du ned CTRL, klickar på varje fält och drar dem.

    Dialogrutan Redigera relationer visas.
    Dialogrutan Redigera relationer

  5. Kontrollera att fältnamnen som visas är de gemensamma fälten för relationen. Om ett fältnamn är felaktig, klicka på fältnamnet och välj lämpliga fält i listan.

    Om du vill använda referensintegritet för den här relationen, markera kryssrutan Referensintegritet. Mer information om referensintegritet finns i avsnittet Referensintegritet.

  6. Klicka på Skapa.

    Access ritar en relationslinje mellan de två tabellerna. Om du har markerat kryssrutan Referensintegritet visas raden blir bredare i båda ändar. Dessutom igen endast om du har markerat kryssrutan Referensintegritet talet 1 visas över tjock del på en sida på relationslinjen och oändlighetssymbol () visas över tjock del på den på den andra sidan av linjen, enligt följande bild.

    Dra ett fält från en tabell till motsvarande fält i en annan tabell

    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 ange still Nej eller Ja (dubbletter tillåtna). När ett fält har ett unikt index, och det andra inte, skapas en 1:N-relation.

Överst på sidan

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

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 ”annat” (orelaterade) tabell och sedan Uppslagsguiden skapas automatiskt en ny 1: n-relation mellan tabeller i fönstret Fältlista och tabellen som du drar fältet. Den här relationen, skapas i Access, använda inte referensintegritet som standard. Om du vill använda referensintegritet, måste du redigera relationen. Finns i avsnittet Redigera en relation för mer information.

Ö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 andra tabeller i databasen, grupperade i kategorier. När du arbetar med en tabell i databladsvyn, visas fälten i en av de två kategorierna 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 den tabell 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. När tabellen är öppen i databladsvyn trycker du på ALT+F8. Fönstret Fältlista visas.

  2. Klicka på plustecknet (+) bredvid tabellnamnet under Tillgängliga fält i andra tabeller 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 ”annat” (orelaterade) tabell och sedan Uppslagsguiden skapas automatiskt en ny 1: n-relation mellan tabeller i Fältlistan och tabellen som du drar fältet. Den här relationen, skapas i Access, använda inte referensintegritet som standard. Om du vill använda referensintegritet, måste du redigera relationen. Finns i avsnittet Redigera en relation för mer information.

Överst på sidan

Skapa eller ändra en relation i en Access 2010-webbdatabas

Om du vill skapa en relation i en Access 2010-Webbdatabas kan du använda Uppslagsguiden. Fönstret relationer är inte tillgängliga i en Webbdatabas. Du använder ett fält i en tabell som källa för värden i det relaterade fältet i en annan tabell. Om du vill skapa en relation i ett Access-program finns i anvisningarna i Skapa en relation.

Obs!: Fältet som du använder som källa för värden måste redan finnas innan du kan använda Uppslagsguiden.

Skapa en relation i en Access 2010-webbdatabas med Uppslagsguiden

  1. Öppna tabellen som ska få sina värden från den andra tabellen.

  2. Klicka på Klicka för att lägga till till höger om det sista fältet och klicka sedan på Uppslag och relationer.

    Obs!:  Du måste eventuellt rulla åt sidan för att se Klicka för att lägga till.

  3. På den första skärmen i Uppslagsguiden markerar du Jag vill att uppslagsfält ska hämta värdena från en annan tabell och klicka sedan på Nästa.

  4. Markera tabellen som innehåller källvärdena och klicka sedan på Nästa.

  5. I rutan Tillgängliga fält dubbelklickar du på det fält som innehåller källvärdena och klickar sedan på Nästa.

  6. Du kan också ange en sorteringsordning för uppslagsfältet. Klicka på Nästa.

  7. Om du vill kan du justera bredden på uppslagsfältet, vilket kan vara bra om värdena är långa. Klicka på Nästa.

  8. Ange ett namn för det nya fältet. Om du vill se till att värdena i de två tabellerna alltid matchar markerar du kryssrutan Aktivera Dataintegritet och klickar sedan på något av följande:

    • Borttagning av relaterade – det här alternativet innebär att om du tar bort en post från en tabell tas även motsvarande poster bort i den andra tabellen.

    • Begränsa borttagning – det här alternativet innebär att om du försöker ta bort en post från en tabell och det finns en motsvarande post i den andra tabellen så går det inte att ta bort posten.

      Obs!:  Markera inte Tillåt flera värden i Uppslagsguiden om du använder guiden för att skapa en relation.

Ändra en relation i en Access 2010-webbdatabas

  1. Öppna tabellen som får sina värden från en annan tabell.

  2. Markera fältet som får sina värden från en annan tabell.

  3. Klicka på Ändra uppslag i gruppen Egenskaper på fliken Fält.

  4. Följ anvisningarna i guiden för att göra de ändringar du vill. Du kan ändra följande:

    • Fältet som är källan till värdena

    • Värdenas sorteringsordning

    • Bredden på fältet och om nyckelkolumnen ska döljas eller inte

    • Etiketten för uppslagsfältet

    • Om dataintegritet ska vara aktiverat

    • Om dataintegritet ska vara aktiverat, om relaterade poster ska tas bort eller om borttagningen ska vara begränsad

Överst på sidan

Redigera en relation

Du ändrar en relation genom att markera 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 Design.

Dialogrutan Redigera relationer visas.

Öppna dialogrutan Redigera relationer

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

    Fönstret Relationer visas.

    Om du ännu inte har definierat några relationer, och det är första gången som du öppnar fönstret Relationer, visas dialogrutan Visa tabell. Om dialogrutan visas klickar du på Stäng.

  2. Klicka på Alla relationer i gruppen Relation på fliken Design.

    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 Visa dolda objekt är markerat 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 Design.

    Dialogrutan Redigera relationer visas.

    Dialogrutan Redigera relationer

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

    Dialogrutan Redigera relationer kan du ändra en Tabellrelation. Dessutom kan du ändra de tabeller eller frågor på vardera sidan av relationen eller fält på vardera sidan. Du kan också ange kopplingstyp, eller använda referensintegritet och välj ett alternativ för borttagning. Mer information om kopplingstyp och hur du konfigurerar finns i avsnittet Ange kopplingstyp. Mer information om hur du kan använda referensintegritet och välj ett alternativ för borttagning finns i avsnittet Tvinga 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, 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. Å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. Tänk dig en fråga som kopplar tabellen Kunder och tabeller 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ögre yttre koppling returnerar all 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.

  2. Klicka på ett alternativ och sedan på OK.

I tabellen nedan (med tabellerna Kunder och Order) visas de tre alternativen i dialogrutan Kopplingsegenskaper och typen av koppling som de använder om alla rader eller matchande rader returneras 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.

    Obs!: Om du ännu inte har definierat några relationer, och det är första gången som du öppnar fönstret Relationer, visas dialogrutan Visa tabell. Om dialogrutan visas klickar du på Stäng.

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

    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 Visa dolda objekt är markerat 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. Klicka på ett alternativ i dialogrutan Kopplingsegenskaper och klicka sedan på OK.
    Dialogrutan Kopplingsegenskaper

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

Överst på sidan

Använda referensintegritet

Syftet med referensintegritet är att förhindra att överblivna poster – poster som refererar till andra poster som inte längre finns. Du använder referensintegritet genom att aktivera den för en Tabellrelation. När tvingas, avvisas Access vilken åtgärd som bryter referensintegritet för den Tabellrelation. Det innebär att Access avvisa båda uppdateringar som ändrar målet för en referens och borttagningar som tar bort målet för en referens. Om du vill att Access sprida referensintegritet uppdateringar och borttagningar så att alla relaterade rader ändras i enlighet med detta finns i avsnittet Ange alternativ för borttagning .

Aktivera och inaktivera referensintegritet

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

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

    Alla tabeller som har 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 Visa dolda objekt är markerat 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.

Om 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. Du kan till exempel inte ta bort en anställd från tabellen Anställda om det finns en order tilldelad till den anställda i tabellen Order. Du kan emellertid 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 emellertid 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 måste finnas 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. På så sätt sker uppdateringen i sin helhet så att databasen inte blir inkonsekvent – så att vissa rader är uppdaterade och andra inte. Du undviker det här problemet med hjälp av alternativet Uppdatera poster i relaterade tabeller. När du använder referensintegritet och väljer alternativet Uppdatera poster i relaterade tabeller, 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 posten Speditör och alla relaterade order för den speditören. Därför finns också alternativet Ta bort poster i relaterade tabeller. När du använder referensintegritet och markerar kryssrutan Ta bort poster i relaterade tabeller, 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. Klicka på Relationer i gruppen Relationer på fliken Databasverktyg.

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

    Alla tabeller som har 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 Visa dolda objekt är markerat 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 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 så att den markeras. Relationslinjen blir bredare när den markeras. Tryck på DEL när relationslinjen är markerad.

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

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

    Alla tabeller som har 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 Visa dolda objekt är markerat 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. Om så är fallet klickar du på Ja.

Obs!: Om någon av tabellerna ingår i en relation som används – kanske av en annan person eller process, eller i ett öppet databasobjekt som 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

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.

×