Använda relationer

Komma igång med tabellrelationer

Din webbläsare har inte stöd för video. Installera Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Prova själv!

En relationsdatabas är kraftfull för att den kan kombinera data från olika tabeller. För att göra det måste du först skapa relationer mellan dina tabeller. Sedan kan du låta Access kombinera data i frågor, formulär och rapporter.

För att se alla befintliga relationer som är definierade för en databas, öppnar du en databasmall och går sedan till fliken Databasverktyg och väljer Relationer.

Obs!: Om du öppnar en tom databas eller inte definierat några relationer, uppmanar Access dig att lägga till en tabell eller fråga. Innan du kan lägga till en relation behöver du minst två tabeller. Det bästa är att skapa alla tabeller först. Mer information finns i Skapa relationer med Uppslagsguiden och Skapa relationer med fönstret Relationer.

Förstå relationsvyn

Linjerna i relationsvyn anger anslutningar mellan tabellerna. I denna bild är tabellen till vänster den överordnade tabellen. Tabellen till höger är den underliggande tabellen. Linjen mellan dem ansluter fälten (i detta fall Order-ID och Produkt-ID) som används för att matcha data.

Relationer visas som linjer mellan överordnade och underordnade fält.

Linjer och symboler visar tabellernas relationer med varandra:

  • En tjock anslutande linje anger att referensintegritet upprätthålls. Det är bra. Det ser till att dina data är synkroniserade.

  • I vårt exempel anger siffran 1 att det bara kan finnas en matchande post i den tabellen. I tabellen Order som visas här är det bara en post som matchar.

  • Symbolen ∞ anger att många poster kan innehålla samma ID. I tabellen Orderinformation som visas här, kan en order (identifierad med sitt Order-ID) finnas med flera gånger eftersom samma order kan innehålla flera produkter.

Typer av relationer mellan tabeller

Det finns tre typer av relationer mellan tabeller:

  • 1:1. När varje objekt bara förekommer en gång i varje tabell. Exempelvis kan varje anställd bara köra en företagsbil. Mer information finns i Skapa 1:1-relationer.

  • 1:N. När ett objekt i en tabell kan ha en relation till flera objekt i en annan tabell. Exempelvis kan varje inköpsorder ha flera produkter.

  • Många-till-många. När ett eller flera objekt i en tabell kan ha en relation till ett eller flera objekt i en annan tabell. Exempelvis kan varje order ha flera produkter och varje produkt kan finnas med i flera order. Mer information finns i Skapa många-till-många-relationer.

1:n-relationer

En av de vanligaste relationerna mellan tabeller i väl utformade databaser är 1:N-relationen.

Relationer mellan tabeller använder normalt primärnyckeln i en av tabellerna. Kom ihåg att primärnyckeln är en unik identifierare (ofta numerisk) för varje post. För att visa att informationen i två olika tabeller hör samman, skapar du normalt en relation med primärnyckeln från en av tabellerna.

I den relation som visas här har varje person i tabellen Kontakter ett ID, som är primärnyckeln (anges av nyckelsymbolen som visas intill). Detta ID finns även i fältet Ägare i tabellen Tillgångar. För att skicka e-post till personen som ansvarar för en tillgång, hämtar du värdet från fältet E-postadress. För att göra det letar du upp värdet i fältet Ägare i tabellen Tillgångar och söker sedan efter detta ID i tabellen Kontakter. Siffran 1 i slutet av den anslutande linjen och symbolen ∞ i andra änden anger att detta är en 1:N-relation, så en kontakt kan vara kopplad till flera tillgångar.

1:N-relation

Redigera en relation

Om du modifierar en befintlig databas eller skapar din databas från en mall, kan du ändra relationerna så att de passar dina behov.

Obs!: Om de tabeller du vill arbeta med används måste du först stänga dem och alla andra öppna objekt som använder dem.

  1. Välj Databasverktyg > Relationer.

  2. Markera linjen som förbinder två tabeller.

    Tips: Om du inte ser den relation du vill använda väljer du Alla relationer i gruppen Relationer på fliken Design.

  3. På fliken Design väljer du Redigera relationer.

    Redigera en befintlig relation mellan tabeller

    Tabell/fråga är den överordnade tabellen till vänster (i detta exempel Kunder).

    Relaterad tabell/fråga är den underordnade tabellen (i detta exempel Order).

    Även om tabellerna inte visas i denna ordning i relationsvyn, anger deras placering i dialogrutan riktningen på linjen som förbinder dem samt relationen. Det är viktigt om det exempelvis är en 1:N-relation, eftersom det anger att tabellen till vänster är Ett (överordnad tabell) och tabellen till höger är N (många) (den underordnade tabellen).

  4. För att ändra fälten som förbinder tabellerna väljer du ett annat fält under varje tabell som visas. I detta exempel ansluter ID-fältet i tabellen Kunder till fältet Kund-ID i tabellen Order.

  5. Ändra det sätt som Access synkroniserar data mellan tabeller.

    Referensintegritet

    Välj detta för att hindra uppkomsten av ogiltiga data och hålla referenser synkroniserade över tabellrelationer.

    Anta att du har en 1:1-relation mellan tabellerna Anställda och Anställningsförmåner. Om en anställd lämnar företaget och du tar bort dem från tabellen Anställda, tas motsvarande post för den anställde även bort i tabellen Anställningsförmåner.

    Ibland är referensintegritet olämpligt. Anta att du har en 1:N-relation mellan Speditörer och Order. Du tar bort en speditör, och den speditören är kopplad till order i tabellen Order. Dessa order blir överblivna order, vilket innebär att de fortfarande innehåller ett Speditör-ID, men detta ID är inte längre giltigt eftersom posten som den refererar till inte längre finns.

    Uppdatera poster i relaterade tabeller

    Markera detta för att se till att data i relaterade fält uppdateras i alla relaterade tabeller.

    Anta att du vill byta ID för en speditör. Med denna inställning ser du till att Speditör-ID uppdateras – inte bara i tabellen Speditör, utan även i alla andra tabeller som är anslutna till den och som också innehåller detta Speditör-ID, exempelvis tabellen Order.

    Ta bort poster i relaterade tabeller

    Beslutet att markera detta beror på om du behöver behålla poster i vissa tabeller även om de kan ha tagits bort från andra tabeller.

    Anta att du tar bort en speditör. Om detta alternativ är markerat, tar Access bort alla poster i alla tabeller som refererar till detta Speditör-ID, inklusive alla order (i tabellen Order) som levererats av den speditören. Du väljer bara detta alternativ om du är säker på att du vill ta bort din orderhistorik.

  6. För att ändra relationen mellan tabellerna från en inre koppling till en yttre koppling, väljer du knappen Kopplingstyp. Mer information finns i Skapa frågor med yttre kopplingar.

Ta bort en tabellrelation

Obs!: Om de tabeller du vill arbeta med används måste du först stänga dem och alla andra öppna objekt som använder dem.

Ta bort en tabellrelation:

  1. Välj Databasverktyg > Relationer.

  2. Markera linjen som förbinder de två tabellerna.

    Tips: Om du inte ser den relation du vill använda väljer du Alla relationer i gruppen Relationer på fliken Design.

  3. Tryck på Delete-tangenten. Om du uppmanas att bekräfta att du vill ta bort relationen väljer du Ja.

Obs!: När du tar bort en relation, tar du även bort stödet för referensintegritet för relationen, om detta finns. Access kommer därför inte längre att förhindra ändringar som kan leda till överblivna poster på många-sidan av en 1:N-relation.

Vill du veta mer?

Skapa, redigera eller ta bort en relation

Behöver du mer hjälp?

Vill du ha fler alternativ?

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

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