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.

En bra databasdesign mål är att ta bort dataredundans (duplicera data). Om du vill uppnå det målet, delar du dina data i många ämne-baserade tabeller så att varje fakultet representeras endast en gång. Du ge åtkomst med det sätt på vilket samman delade informationen tillbaka – du gör detta genom att placera vanliga fält i tabeller som är relaterade. Om du vill göra det här steget korrekt, måste men du först förstå relationer mellan tabeller och ange relationerna i databasen.

Mer information finns i artikeln grundläggande databasdesign.

I den här artikeln behandlas inte relationer i en Webbdatabas. Webbdatabaser stöder inte fönstret Relationer. Du kan använda uppslagsfält för att skapa relationer i en Webbdatabas. Mer information finns i artikeln Skapa en databas att dela på webben.

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 kan ange du Access med medelvärdet som ska få tillbaka informationen tillsammans igen när det behövs. Du gör detta genom att placera vanliga fält i tabeller som är relaterade och genom att definiera relationer mellan tabeller. Du kan sedan skapa frågor, formulär och rapporter som visar information från flera tabeller samtidigt. Formuläret visas här innehåller till exempel information 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.

  • 1:N-relation

    Överväg att en Orderuppföljning databas som innehåller tabellerna Kunder och order. En kund kan placera valfritt antal order. Följer att för en kund i tabellen kunder, det kan finnas många order som representeras i tabellen Order. Relation mellan tabellen kunder och tabellen Order är därför en 1: n-relation.

    Om du vill representera en 1: n-relation i databasdesignen dra primärnyckeln på "1"-sidan av relationen och lägga till den som en eller flera ytterligare fält i tabellen på "n"-sidan av relationen. I det här fallet, till exempel du lägger till ett nytt fält – ID-fältet från tabellen kunder – för order tabell och ge det namnet kund-ID. Access kan sedan använda kund-ID-numret i tabellen Order för att hitta rätt kunden för varje order.

  • N:N-relation

    Överväg att relationen mellan produkttabellen och order. En enstaka order kan innehålla mer än en produkt. Å andra sidan visas en enskild produkt på många order. För varje post i tabellen Order, kan det därför många poster i tabellen produkter. Dessutom för varje post i tabellen produkter, kan det finnas många poster i tabellen Order. Den här typen av relation kallas en n: n-relation eftersom för varje produkt, det kan finnas många order och för valfri ordning, det kan finnas många produkter. Observera att om du vill hitta den befintliga n: n-relationer mellan tabeller, är det viktigt att du tänka på båda sidor av 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

    Varje post i den första tabellen kan ha bara en matchande post i den andra tabellen i en 1: 1-relation och varje post i den andra tabellen kan ha bara en matchande post i den första tabellen. Den här typen av relation är inte vanliga eftersom oftast, med information om i den här metoden lagras i samma tabell. Du kan dela en tabell med många fält, avgränsa en del av en tabell av säkerhetsskäl eller lagra information som gäller endast för en delmängd av tabellen huvudsakliga med en 1: 1-relation. När du hittar en relation, dela båda tabellerna ett gemensamt fält.

Överst på sidan

Varför skapa tabellrelationer?

Du kan skapa tabellrelationer uttryckligen med hjälp av fönstret relationer eller genom att dra ett fält från fönstret Fältlista. Access använder tabellrelationer för att veta hur du ansluter till tabeller när du behöver arbeta med dem i ett databasobjekt. Det finns flera anledningar till varför du ska 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 flera tabeller kan skapar du ofta en fråga som kopplar ihop tabellerna. Frågan fungerar genom att matcha värden i primärnyckelfältet på den första tabellen med sekundärnyckelfältet i den andra tabellen. Du kan till exempel konstruera en fråga som kopplar ihop tabellen kunder med tabellen Order baserat på fältet Kund-ID om du vill returnera rader som visar alla order för varje kund. I fönstret relationer kan du manuellt ange fälten du vill ansluta till. Om du redan har en Tabellrelation anger Access standard koppling, baserat på befintliga tabellrelationen. Om du använder någon av guiderna fråga används dessutom informationen från tabellrelationer samlar du redan har definierat presentera med välgrundade val och fylla i inställningarna för egenskapen med standardvärdena.

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

    När du designar ett formulär eller en rapport, används informationen från tabellrelationer samlar du redan har definierat presentera med välgrundade val och fylla i inställningarna för egenskapen med standardvärdena.

  • 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 utformar en databas genom att dela upp informationen i tabeller, som har en primärnyckel. Du sedan lägga till sekundärnycklar i relaterade tabeller som refererar till dessa primärnycklar. Dessa främmande nyckel primär viktiga pairings utgångspunkt för tabellrelationer och frågor i flera tabeller. Det är viktigt, därför att dessa extern nyckel primär referenser hålla synkroniserade. Referensintegritet säkerställer som refererar till Håll synkroniseras och är beroende av tabellrelationer.

Överst på sidan

Förstå referensintegritet

När du utformar en databas genom att dela upp informationen i många ämne-baserade tabeller för att minimera dataredundans. Ge åtkomst med medelvärdet som vill föra in data igen genom att placera vanliga fält i relaterade tabeller. Till exempel för att representera en 1: n-relation du ta primärnyckeln från "1"-tabellen och Lägg till den som en ytterligare fält "n"-tabellen. Om du vill föra över data tillbaka tillsammans, Access hämtar värdet i "n"-tabellen och letar upp motsvarande värde i "1"-tabellen. I den här metoden referera värdena i "n"-tabellen till motsvarande värden i tabellen "en".

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 den för en Tabellrelation (se nyligen använda referensintegritet för stegvisa instruktioner). När tvingas, avvisas Access vilken åtgärd som bryter referensintegritet för den Tabellrelation. Detta innebär Access avvisar båda uppdateringar som ändrar målet för en referens och borttagningar som tar bort målet för en referens. Det är möjligt du kanske har en perfekt giltig måste du först ändra primärnyckeln för en shipper som har order i tabellen Order. I sådana fall är vad du verkligen behöver att automatiskt uppdatera alla utföras rader som en del av en gång. På så sätt Access säkerställer att uppdateringen har slutförts helt så att databasen inte finns kvar inkonsekvent, med vissa uppdaterade rader och vissa inte. Access stöder därför alternativet Uppdatera poster i relaterade tabeller. När du referensintegritet och väljer alternativet borttagning uppdatera relaterade tabeller och sedan uppdatera en primärnyckel, uppdateras automatiskt alla fält som refererar till primärnyckeln.

Det är också möjligt kanske du har en giltig behöver ta bort en rad och alla relaterade poster, till exempel arkivhandling avsändaren och alla relaterade order för den avsändaren. Access stöder därför alternativet Ta bort poster i relaterade tabeller. Om du sedan tar bort en post på den primära viktiga sidan av relationen och använda referensintegritet och väljer alternativet Ta bort poster i relaterade tabeller, tas alla poster som refererar till primärnyckeln tas automatiskt bort.

Överst på sidan

Visa tabellrelationer

Om du vill visa dina tabellrelationer klickar du på relationer på fliken Databasverktyg. Fönstret Relationer öppnas och visar alla befintliga relationer. Om ingen tabellrelationer ännu har definierats och du öppnar fönstret Relationer för första gången, uppmanas du att lägga till en tabell eller fråga i fönstret.

Öppna fönstret Relationer

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

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

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

  4. 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. Klicka på Stäng om du vill stänga dialogrutan.

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

    Då visas alla definierade relationer i databasen. Observera att dolda tabeller (tabeller som dolda Markera kryssrutan i dialogrutan Egenskaper för tabellens markeras) och deras relationer visas inte om inte kryssrutan Visa dolda objekt är markerat 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å Öppna på fliken Arkiv.

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

  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.

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

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

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

  1. 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ärnyckeln och sekundärnyckelfält) måste ha ett unikt index. Detta innebär att egenskapen Indexerat för dessa fält ska anges till Ja (inga dubbletter). Om båda fälten har ett unikt index, skapas en 1: 1-relation.

    • Skapa en 1: n - relation    Fältet på "1"-sidan (vanligtvis primärnyckeln) av relationen måste ha ett unikt index. Detta innebär att egenskapen Indexerat för det här fältet ska anges till Ja (inga dubbletter). Fältet på relationens "n"-sida bör inte har ett unikt index. Det kan ha ett index, men den måste tillåta dubbletter. Detta innebär att egenskapen Indexerat för det här fältet ska väljas för antingen Ingeneller Ja (dubbletter tillåtna). När ett fält har ett unikt index och den andra inte kan skapas en 1: n-relation.

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 den från fönstret Fältlista. Fönstret Fältlista visar tillgängliga fält i relaterade tabeller och också fält i andra tabeller. 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. Se avsnittet Ändra en Tabellrelation för mer information.

Ö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ältlistan fönstret visas alla de andra tabellerna i databasen som är grupperade i kategorier. När du arbetar med en tabell i databladsvyn visas fälten i någon av två kategorier i fönstret Fältlista: tillgängliga fält i relaterade tabeller och fält som är tillgängliga i andra tabeller. Den första kategorin visas alla de tabeller som har en relation med tabellen som du arbetar med. Den andra kategorin visas alla de tabeller som tabellen inte har en relation.

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 "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. Se avsnittet Ändra en Tabellrelation för mer information.

Överst på sidan

Ta bort en tabellrelation

Om du vill ta bort en Tabellrelation, måste du ta bort på relationslinjen i fönstret Relationer. Tänk på att placera markören så att den pekar på relationslinjen och klicka sedan på linjen. Relationslinjen blir bredare när den väljs. Tryck på DELETE på relationslinjen markerad. Observera att när du tar bort en relation kan du även ta bort referensintegritet stöd för relationen, om det är aktiverat. Access förhindras därmed inte längre automatiskt för att skapa överblivna poster på "n"-sidan av en relation.

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

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

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

Alla tabeller som har relationer visas tillsammans med relationslinjerna.

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

  2. Tryck på DEL.

    eller

Högerklicka och klicka på Ta bort.

  1. 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 (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 inte har definierat några relationer och det är första gången du öppnar fönstret Relationer, dialogrutan Visa tabell. Om dialogrutan visas klickar du på Stäng.

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

  • Alla tabeller som har relationer visas tillsammans med relationslinjerna.

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

  • Dubbelklicka på relationslinjen.

  • 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 informera förser frågedesignen med information om relationen. Till exempel om du definierar en relation mellan två tabeller och sedan skapa en fråga som använder dessa tabeller, väljs Access automatiskt standard matchande fält som baseras på de fält som anges i relationen. Du kan åsidosätta de här initiala standardvärden i frågan, men de värden som tillhandahålls av relationen kommer ofta bevisa att rätta. Eftersom matchande och samman data från flera tabeller är något du gör ofta i alla utom de mest enkla databaserna kan ställa in standardinställningar för genom att skapa relationer kan vara tid spara och nyttiga.

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.

En av de värden som du kan ange för varje relation är kopplingstyp. Kopplingstyp anger Access vilka poster som ska ingå i ett frågeresultat. Tänk dig igen en fråga som kopplar ihop tabellen kunder och tabellen Order för vanliga fält som representerar kund-ID. Med hjälp av standardtyp (kallas en inre koppling) returnerar frågan kunden raderna och ordning raderna där de gemensamma fälten (kallas även de kopplade fälten) är lika.

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 följande tabell (med hjälp av tabellerna Kunder och order) visas de tre alternativ som visas i dialogrutan Kopplingsegenskaper för typ av koppling som de använder och om alla rader eller matchande rader har lagts till 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 inte har definierat några relationer och det är första gången du öppnar fönstret Relationer, dialogrutan Visa tabell. Om dialogrutan visas klickar du på Stäng.

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

    Alla tabeller med relationer visas tillsammans med relationslinjerna

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

  • Dubbelklicka på relationslinjen.

Dialogrutan Redigera relationer visas.

  1. Klicka på kopplingstyp

  2. Klicka på ett alternativ i dialogrutan Kopplingsegenskaper och klicka sedan på OK.

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

Överst på sidan

Använda referensintegritet

Syftet med att använda referensintegritet är att förhindra att överblivna poster och vill behålla referenser synkroniseras 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 den för en Tabellrelation. När tvingas, avvisas Access vilken åtgärd som bryter referensintegritet för den Tabellrelation. Access avvisar 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å 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. 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 värdet för en primärnyckel i den primära tabellen om praktiska övningar skulle skapa överblivna poster. Du kan till exempel ändra ett Ordernr i tabellen order om det finns radobjekt som tilldelats den ordningen i tabellen Orderdetaljer. Du kan dock välja att uppdatera en primär post och alla relaterade poster på en gång genom att markera kryssrutan Uppdatera fält i relaterade tabeller.

    Meddelanden: Om du har problem med att aktivera referensintegritet Observera att följande villkor krävs för att kunna använda referensintegritet:

    • 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 verkställas inte på länkade tabeller. Om källtabellerna i Access-format, kan du öppna databasen lagras och aktivera referensintegritet i databasen.

Ange kaskadalternativ

Du kan stöta på en situation där du har en giltig måste du först ändra värdet på "1"-sidan av en relation. I så fall kan ha du åtkomst till automatiskt uppdatera alla utföras rader som en del av en gång. På så sätt uppdateringen är fullständigt ifyllda så att databasen inte finns kvar inkonsekvent – med vissa uppdaterade rader och vissa inte. Access hjälper dig att undvika problemet genom att stödja alternativet Uppdatera poster i relaterade tabeller. När du referensintegritet och väljer alternativet borttagning uppdatera relaterade tabeller och sedan uppdatera en primärnyckel, uppdateras automatiskt alla fält som refererar till primärnyckeln.

Du kan även behöva ta bort en rad och alla relaterade poster, till exempel arkivhandling avsändaren och alla relaterade order för den avsändaren. Access stöder därför alternativet Ta bort poster i relaterade tabeller. När du referensintegritet och väljer alternativet Ta bort poster i relaterade tabeller tas alla poster som refererar till primärnyckeln när du tar bort den post som innehåller primärnyckeln tas automatiskt bort.

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.

×