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 syfte med en ändamålsenligt 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 uppgift bara finns med en gång. Därefter förser du Microsoft Office Access 2007 med de verktyg som behövs för att sammanföra den uppdelade information igen. Det gör du genom att placera 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 Office Access 2007-databasen.

Artikelinnehåll

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

Inledning

När du har skapat en tabell för varje ämne i databasen, måste du förse Office Access 2007 med de verktyg som kan sammanföra informationen igen när det behövs. Det gör du genom att placera 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.

  • 1:N-relation

    Anta att du har en orderhanteringsdatabas som innehåller tabellen Kunder och tabeller Order. En kund kan göra flera beställningar. 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

    Ta en titt 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, eftersom det för varje produkt kan finnas många order och för varje order kan det finnas många produkter. 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. Den här typen av relation är inte speciellt vanligt, 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 uttryckligen med hjälp av fönstret relationer eller genom att dra ett fält från fönstret Fältlista. Office Access 2007 använder tabellrelationer till 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, makron 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 Office Access 2007 en standardkoppling automatiskt, utifrån den befintliga tabellrelationen. Om du använder någon av frågeguiderna, 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 använder Office Access 2007 informationen 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. Tack vare referensintegritet säkerställs det att referenserna är synkroniserade och är beroende av tabellrelationer.

Ö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 Office Access 2007 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 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 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 finns alternativet Ta bort poster i relaterade tabeller. När du använder referensintegritet och väljer alternativet Ta bort poster i relaterade tabeller, och du 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, ombeds du att lägga till en tabell eller fråga i fönstret.

Öppna fönstret Relationer

  1. Klicka först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

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

  3. Klicka på Relationer i gruppen Visa/dölj 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. Stäng dialogrutan genom att klicka på Stäng.

  5. Klicka på Alla relationer i gruppen Relation 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.

    Mer information om alternativet Visa dolda objekt finns i artikeln Guide till navigeringsfönstret.

fönstret Relationer

1. Primärnyckeln

2. Den här linjen representerar relationen

3. Sekundärnyckeln

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 () 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, som är en del av Microsoft Office Fluent-användargränssnittet:

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 som dolda Markera kryssrutan i dialogrutan Egenskaper för tabellens markeras) och deras relationer visas inte om inte visa dolda tabeller är markerat i dialogrutan navigeringsalternativ.

    Mer information om alternativet Visa dolda tabeller finns i artikeln Guide till navigeringsfönstret.

  • 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 först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

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

  3. Klicka på Relationer i gruppen Visa/dölj 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 Förstå referensintegritet och avsnitten 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 () ovanför den bredare delen i den andra änden.

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.

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

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 i Office Access 2007. 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 först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  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å Datablad på snabbmenyn.

Öppna fönstret Fältlista

  • Klicka på Lägg till befintliga fält i gruppen Fält och kolumner på fliken Datablad.

    Bild av menyfliksområdet i Access

    Fönstret Fältlista visas.

Fönstret Fältlista 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å Lägg till befintliga fält i gruppen Fält och kolumner på fliken Datablad.

    Bild av menyfliksområdet i Access

    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. 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 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. När du tar bort en relation, 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 först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

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

  3. Klicka på Relationer i gruppen Visa/dölj 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.

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

Alla tabeller med 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.

  3. 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ör ändringarna i dialogrutan Redigera relationer

  1. Klicka först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

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

  3. Klicka på Relationer i gruppen Visa/dölj 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.

  1. 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 dialogrutan Egenskaper för tabellen) och deras relationer inte visas såvida inte Visa dolda objekt är markerat i dialogrutan Navigeringsalternativ.

Mer information om alternativet Visa dolda objekt finns i artikeln Guide till navigeringsfönstret.

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

  2. Dubbelklicka på relationslinjen.

    eller

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

    Dialogrutan Redigera relationer öppnas.

    Dialogrutan Redigera relationer

  3. 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 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. Å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 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 typen av 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 först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

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

  3. Klicka på Relationer i gruppen Visa/dölj 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.

  1. 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 kryssrutan Visa dolda objekt är markerad i dialogrutan Navigeringsalternativ.

Mer information om alternativet Visa dolda objekt finns i artikeln Guide till navigeringsfönstret.

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

  2. Dubbelklicka på relationslinjen.

    eller

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

    Dialogrutan Redigera relationer visas.

  3. Klicka på Kopplingstyp

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

    Dialogrutan Kopplingsegenskaper

  5. Gör fler ändringar i relationen om du vill 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 först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

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

  3. Klicka på Relationer i gruppen Visa/dölj 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.

  1. 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 dialogrutan Egenskaper för tabellen) och deras relationer inte visas såvida inte Visa dolda objekt är markerat i dialogrutan Navigeringsalternativ.

Mer information om alternativet Visa dolda objekt finns i artikeln Guide till navigeringsfönstret.

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

  2. Dubbelklicka på relationslinjen.

    eller

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

    Dialogrutan Redigera relationer visas.

  3. Markera kryssrutan Referensintegritet.

  4. 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 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: Följande villkor måste uppfyllas för att det ska gå att använda referensintegritet, annars kan problem uppstå:

    • 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 en speditörpost 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 väljer alternativet 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 först på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

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

  3. Klicka på Relationer i gruppen Visa/dölj 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.

  1. 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 dialogrutan Egenskaper för tabellen) och deras relationer inte visas såvida inte Visa dolda objekt är markerat i dialogrutan Navigeringsalternativ.

Mer information om alternativet Visa dolda objekt finns i Guide till navigeringsfönstret.

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

  2. Dubbelklicka på relationslinjen.

    eller

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

    Dialogrutan Redigera relationer visas.

  3. Markera kryssrutan Referensintegritet.

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

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

×