Guide till tabellrelationer

Guide till tabellrelationer

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

Ett av målen med en bra databasdesign är att undvika dataredundans (dubblettdata). Du uppnår det här målet genom att dela upp dina data i många ämnesbaserade tabeller, så att varje faktauppgift bara finns med en gång. Därefter talar du om hur informationen ska sammanföras igen i Access – genom att skapa gemensamma fält i tabeller som är relaterade. För att kunna göra detta måste du först förstå hur relationer mellan tabeller fungerar, och sedan ange dessa relationer i databasen.

I den här artikeln

Introduktion

Typer av tabellrelationer

Varför skapa tabellrelationer?

Förstå referensintegritet

Visa tabellrelationer

Skapa en tabellrelation

Ta bort en tabellrelation

Ändra en tabellrelation

Använda referensintegritet

Introduktion

När du har skapat en tabell för varje ämne i databasen, måste du tala om hur informationen ska sammanföras igen i Access. Det gör du genom att skapa gemensamma fält i tabeller som är relaterade och genom att definiera relationer mellan tabellerna. Du kan sedan skapa frågor, formulär och rapporter som visar information från flera tabeller samtidigt. I formuläret som visas här finns information som har hämtats från flera tabeller:

Orderformulär som visar relaterad information från fem tabeller samtidigt

1. Informationen i det här formuläret kommer från tabellen Kunder ...

2. ... tabellen Order ...

3. ... tabellen Produkter ...

4. ... och tabellen Orderdetaljer.

Kundnamnet i rutan Faktura till hämtas från tabellen Kunder, ordernumret och orderdatumet från tabellen Order, produktnamnet från tabellen Produkter och enhetspriset och antalet från tabellen Orderdetaljer. Dessa tabeller är kopplade till varandra på flera olika sätt så att relevant information från respektive tabell kombineras och visas i formuläret.

I exemplet ovan måste fälten i tabellerna koordineras så att de visar information om samma order. Sådan koordination sker med hjälp av tabellrelationer. En tabellrelation fungerar genom att data i två tabeller matchas i nyckelfält. Dessa fält har ofta samma namn i de båda tabellerna. Nyckelfältet i den ena tabellen är oftast primärnyckeln, vilken ger en unik identifierare för varje post, medan nyckelfältet i den andra tabellen är sekundärnyckeln. Anställda kan till exempel kopplas till de order de ansvarar för genom att en tabellrelation skapas mellan fälten Anställningsnr i tabellerna Anställda och Order.

Anställningsnumret används som primärnyckel i tabellen Anställda och sekundärnyckel i tabellen Order.

1. Anställningsnr finns i båda tabellerna – som primärnyckel ...

2. ... och som sekundärnyckel.

Överst på sidan

Olika typer av tabellrelationer

Det finns tre typer av tabellrelationer i Access.

  • 1:N-relation

    Anta att du har en orderhanteringsdatabas som innehåller tabellen Kunder och tabellen Order. En kund kan göra hur många beställningar som helst. Därför kan det för varje kund i tabellen Kunder finnas flera order i tabellen Order. Relationen mellan tabellen Kunder och tabellen Order är därför en 1:N-relation.

    När du representerar en 1:N-relation i databasdesignen ska du ha primärnyckeln på 1-sidan av relationen och lägga till den som ytterligare ett fält i tabellen på N-sidan av relationen. I det här fallet lägger du till ett nytt fält,  fältet Kundnummer från tabellen Kunder, i tabellen Order och ger det namnet Kundnr. Access kan sedan använda kundnumret i tabellen Order för att hitta rätt kund för respektive order.

  • N:N-relation

    Nu ska vi titta närmare på relationen mellan tabellen Produkter och tabellen Order. En enda order kan omfatta flera produkter. Å andra sidan kan en enskild produkt finnas på flera order. Därför kan det för varje post i tabellen Order finnas många poster i tabellen Produkter. För varje post i tabellen Produkter kan det dessutom finnas många poster i tabellen Order. Den här typen av relation kallas för N:N-relation. För att du ska kunna hitta befintliga N:N-relationerna mellan tabeller är det viktigt att du granskar båda sidorna i relationen.

    När du representerar en N:N-relation måste du skapa en tredje tabell, en så kallad kopplingstabell, som bryter ned N:N-relationen i två 1:N-relationer. Du infogar primärnyckeln från var och en av de två tabellerna i den tredje tabellen. I den tredje tabellen registreras därför alla förekomster av relationen. Tabellerna Order och Produkter har till exempel en N:N-relation som definieras genom att två 1:N-relationer skapas för tabellen Orderspecifikationer. En order kan ha många produkter, och varje produkt kan förekomma i många order.

  • 1:1-relation

    I en 1:1-relation kan en post i den första tabellen bara ha en enda matchande post i den andra tabellen och omvänt. Sådana relationer är inte speciellt vanliga, eftersom information som relateras på det här sättet oftast lagras i samma tabell. Du kan använda en 1:1-relation om du vill dela en tabell med många fält, avgränsa en del av tabellen av säkerhetsskäl eller lagra information som enbart gäller en delmängd av huvudtabellen. När du identifierar en sådan relation måste båda tabellerna ha ett gemensamt fält.

Överst på sidan

Varför skapa tabellrelationer?

Du kan skapa tabellrelationer i fönstret Relationer eller genom att dra ett fält från fönstret Fältlista. I Access används tabellrelationer för att koppla tabeller när du behöver använda dem i databasobjekt. Det finns flera skäl till varför du bör skapa tabellrelationer innan du skapar andra databasobjekt, till exempel formulär, frågor och rapporter.

  • Tabellrelationer förser frågedesignen med information

    Om du vill arbeta med poster från fler än en tabell måste du ofta skapa en fråga som kopplar tabellerna. Frågan matchar värdena i primärnyckelfältet i den första tabellen mot ett sekundärnyckelfält i den andra tabellen. Om du till exempel vill returnera rader som innehåller alla order för varje kund, skapar du en fråga som kopplar tabellen Kunder till tabellen Order via fältet Kundnummer. I fönstret Relationer kan du manuellt ange vilka fält som ska kopplas. Om du redan har definierat en relation mellan tabellerna skapar Access en standardkoppling automatiskt, utifrån den befintliga tabellrelationen. Om du använder någon av frågeguiderna i Access, används dessutom den information som samlas in från tabellrelationerna som du redan har definierat så att du får underbyggda alternativ och egenskapsinställningar automatiskt anges till lämpliga standardvärden.

  • Tabellrelationer förser formulär- och rapportdesign med information

    När du designar ett formulär eller en rapport i Access används dessutom den information som samlas in från tabellrelationerna som du redan har definierat så att du får underbyggda alternativ och egenskapsinställningar automatiskt anges till lämpliga standardvärden.

  • Tabellrelationer utgör grunden för referensintegriteten som förhindrar att överblivna poster skapas i databasen. En överbliven post är en som refererar till en post som inte finns, till exempel en orderpost som refererar till en kundpost som inte längre finns kvar.

    När du designar en databas delar du upp informationen i tabeller, där var och en har en primärnyckel. Du lägger sedan till sekundärnycklar i relaterade tabeller som refererar till dessa primärnycklar. Paren med primär- och sekundärnycklar utgör grunden för tabellrelationer och flertabellfrågor. Därför är det viktigt att dessa nyckelparsreferenser är synkroniserade. Referensintegritet, som är beroende av relationerna mellan tabellerna, är ett sätt att kontrollera att referenserna är synkroniserade.

Överst på sidan

Förstå referensintegritet

När du designar en databas delar du in informationen i många ämnesbaserade tabeller för att undvika dubbletter. Därefter förser du Access med de verktyg som behövs för att sammanföra data igen genom att placera gemensamma fält i relaterade tabeller. Om du till exempel vill representera en 1:N-relation tar du primärnyckeln från 1-tabellen och lägger till den som ett extra fält i N-tabellen. När data ska sammanföras igen hämtar Access värdet i N-tabellen och slår upp motsvarande värde i 1-tabellen. På det här sättet refererar värdena i N-tabellen till motsvarande värden i 1-tabellen.

Anta att du har en 1:N-relation mellan Speditörer och Order och du vill ta bort en speditör. Om speditören som du vill ta bort har beställningar i tabellen Order, kommer dessa order att bli "överblivna" när du tar bort posten för speditören. Beställningarna innehåller fortfarande ett speditörsnummer, men numret är inte längre giltigt eftersom posten som det refererar till inte längre finns.

Syftet med referensintegritet är att förhindra att överblivna poster skapas och synkronisera referenserna så att den här typen av situationer inte uppstår.

Du använder referensintegritet genom att aktivera det för en tabellrelation (i Använda referensintegritet finns stegvisa instruktioner för hur du gör det). 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. I vissa fall kan du ha ett reellt behov av att till exempel ändra primärnyckeln för en speditör som det finns beställningar kopplade till i tabellen Order. I sådana situationer vill du antagligen att Access automatiskt ska uppdatera alla rader som påverkas av en uppdatering i ett och samma steg. På så sätt kan du säkerställa att uppdateringen i Access Access genomförs på ett sätt som inte riskerar att göra informationen inkonsekvens, så att vissa rader är uppdaterade och andra inte. I Access används alternativet Uppdatera poster i relaterade tabeller för att åstadkomma dessa automatiska uppdateringar. När du aktiverar referensintegritet och använder alternativet Uppdatera poster i relaterade tabeller i Access, och sedan uppdaterar en primärnyckel, updateras alla fält som refererar till primärnyckeln automatiskt.

Det kan också hända att du 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 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, och sedan tar bort en post på primärnyckelsidan av relationen, tas alla poster automatiskt bort som refererar till den primärnyckeln.

Överst på sidan

Visa tabellrelationer

Du visar tabellrelationerna genom att klicka på Relationer på fliken Databasverktyg. Fönstret Relationer öppnas och visar alla befintliga relationer. Om du ännu inte har definierat några tabellrelationer och öppnar fönstret Relationer för första gången i Access, ombeds du att lägga till en tabell eller fråga i fönstret.

Öppna fönstret Relationer

  1. Klicka på Arkiv och klicka sedan på Öppna.

  2. Klicka på databasen och öppna den.

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

    Om databasen innehåller relationer visas fönstret Relationer. Om databasen inte innehåller några relationer och du öppnar fönstret Relationer för första gången, visas dialogrutan Visa tabell. Stäng dialogrutan genom att klicka på Stäng.

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

    Då visas alla relationer som har definierats i databasen. 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.

En tabellrelation representeras av en relationslinje som ritas mellan tabellerna i fönstret Relationer. En relation som inte använder referensintegritet visas som en tunn linje mellan de gemensamma fälten i relationen. När du markerar relationen genom att klicka på linjen, blir linjen bredare vilket anger att den markeras. Om du använder referensintegritet för den här relationen är linjen bredare i vardera änden. Dessutom visas siffran 1 över den bredare delen av linjen på 1-sidan av relationen, och oändlighetssymbolen (8) visas över den bredare delen av linjen på den andra sidan.

När fönstret Relationer är aktivt kan du välja mellan följande kommandon i menyfliksområdet:

I gruppen Verktyg på fliken Design:

  • Redigera relationer    Öppnar dialogrutan Redigera relationer. När du markerar en relationslinje kan du klicka på Redigera relationer om du vill ändra tabellrelationen. Du kan också dubbelklicka på relationslinjen.

  • Radera layout    Döljer alla tabeller och relationer i fönstret Relationer. Observera att det här kommandot bara döljer tabellerna och relationerna, det tar inte bort dem.

  • Relationsrapport    Skapar en rapport som visar tabellerna och relationerna i databasen. Rapporten innehåller bara de tabeller och relationer som inte döljs i fönstret Relationer.

I gruppen Relationer på fliken Design:

  • Visa tabell    Öppnar dialogrutan Visa tabell så att du kan välja vilka tabeller och frågor som ska visas i fönstret Relationer.

  • Dölj tabell    Döljer den valda tabellen i fönstret Relationer.

  • Direkta relationer    Visar alla relationer och relaterade tabeller för den valda tabellen i fönstret Relationer, om de inte redan visas.

  • Alla relationer    Visar alla relationer och relaterade tabeller i databasen i fönstret Relationer. 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.

  • Stäng    Stänger fönstret Relationer. Om du har ändrat i layouten av fönstret Relationer visas en fråga om du vill spara ändringarna.

Överst på sidan

Skapa en tabellrelation

Du kan skapa en tabellrelation i fönstret Relationer eller genom att dra ett fält till ett datablad 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. Däremot måste dessa fält ha samma datatyp. Om primärnyckelfältet är ett Räknare-fält, kan emellertid sekundärnyckelfältet 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.

Skapa en tabellrelation i fönstret Relationer

  1. Klicka på Arkiv och klicka sedan på Öppna.

  2. Klicka på databasen och öppna den.

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

  4. 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åde tabeller och frågor klickar du på Båda.

  5. Markera en eller flera tabeller eller frågor och klicka på Lägg till. När du har lagt till tabellerna och frågorna i fönstret Relationer klickar du på Stäng.

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

  7. Kontrollera att fältnamnen som visas gäller för de gemensamma fälten i relationen. Om ett fältnamn är fel, klickar du på det och väljer ett nytt fält i listan.

    Om du vill använda referensintegritet för den här relationen markerar du kryssrutan Referensintegritet. Mer information om referensintegritet finns i avsnitten Förstå referensintegritet och Använda referensintegritet.

  8. Klicka på Skapa.

    Relationslinjen ritas mellan de två tabellerna. Om du markerade kryssrutan Referensintegritet är linjen bredare i vardera änden. Om du har markerat kryssrutan Referensintegritet visas också siffran 1 ovanför den bredare delen i ena änden av relationslinjen och oändlighetssymbolen (8) ovanför den bredare delen i den andra änden.

    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. Fältet på N-sidan 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.

Skapa en tabellrelation 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ältlista visas tillgängliga fält i relaterade tabeller och även fält som är tillgängliga i andra tabeller. När du drar ett fält från en "annan" (orelaterad) tabell och sedan går igenom Uppslagsguiden, skapas en ny 1:N-relation automatiskt mellan tabellen i fönstret Fältlista i Access, och tabellen som du drar fältet till. I den här relationen används inte referensintegritet som standard. Om du vill använda referensintegritet måste du redigera relationen. Mer information finns i avsnittet Ändra en tabellrelation.

Öppna en tabell i databladsvyn

  1. Klicka på Öppna på fliken Arkiv.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Högerklicka i navigeringsfönstret på tabellen där du vill lägga till fältet och skapa relationen, och klicka sedan på Öppna.

Öppna fönstret Fältlista

  • Tryck på ALT+F8.

    Fönstret Fältlista visas.

Fönstret Fältlista i Access innehåller 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 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. Klicka på plustecknet (+) under Tillgängliga fält i andra tabeller i Fältlista bredvid tabellnamnet om du vill visa listan med fält i den tabellen.

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

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

    Uppslagsguiden startar.

  4. Följ anvisningarna i Uppslagsguiden.

    Fältet visas i databladsvyn.

När du drar ett fält från en "annan" (orelaterad) tabell och sedan går igenom Uppslagsguiden i Access, skapas en ny 1:N-relation automatiskt mellan tabellen i Fältlista och tabellen som du drar fältet till. I den här relationen används inte referensintegritet som standard. Om du vill använda referensintegritet måste du redigera relationen. Mer information finns i avsnittet Ändra en tabellrelation.

Överst på sidan

Ta bort en tabellrelation

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å Delete när relationslinjen är markerad. När du tar bort en relation i Access, tar du också bort stödet för referensintegritet för relationen. Därför går det inte längre att automatiskt förhindra att överblivna poster skapas på N-sidan av en relation.

  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 Relationer på fliken Design.

    Alla tabeller som har relationer visas, med linjer som indikerar relationerna.

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

  4. Tryck på DEL.

    eller

Högerklicka och klicka på Ta bort.

  • 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 ingår i en relation som 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 först stänga alla öppna objekt som använder dessa tabeller innan du kan ta bort relationen.

Överst på sidan

Ändra en tabellrelation

Du ändrar en tabellrelation genom att välja den i fönstret Relationer och sedan redigera den. Se till att markören pekar på relationslinjen och klicka sedan på linjen så att den markeras. Relationslinjen blir bredare när den markeras. När relationslinjen är markerad dubbelklickar du på den eller klickar på Redigera relationer i gruppen Verktyg på fliken Design. Dialogrutan Redigera relationer visas.

Göra ändringar i 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 Relationer på fliken Design.

    Alla tabeller som har relationer visas, med linjer som indikerar relationerna.

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

  4. Dubbelklicka på relationslinjen.

  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 dessa tabeller, 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 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 från tabellen på vänster sida av relationen och bara de som matchar från 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.

  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 vilken koppling som de använder 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.

    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

  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.

  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 skapas och att synkronisera referenser, så att du inte har några 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. Klicka på relationslinjen för den relation som du vill ändra i fönstret Relationer. Relationslinjen blir bredare när den markeras.

  2. Dubbelklicka på relationslinjen.

Dialogrutan Redigera relationer visas.

  1. Markera kryssrutan Referensintegritet.

  2. 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 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 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 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 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 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 i Access.

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. Klicka på relationslinjen för den relation som du vill ändra i fönstret Relationer. Relationslinjen blir bredare när den markeras.

  2. Dubbelklicka på relationslinjen.

Dialogrutan Redigera relationer visas.

  1. Markera kryssrutan Referensintegritet.

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

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

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

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.

×