Vejledning i tabelrelationer

Vigtigt: Denne artikel er maskinoversat. Se ansvarsfraskrivelsen. Du kan finde den engelske version af denne artikel her til din orientering.

Et af målene med godt databasedesign er at fjerne dataredundans (dobbeltforekomster af data). For at opfylde dette mål skal du opdele dataene i mange emnebaserede tabeller, så hver oplysning kun er repræsenteret én gang. Derefter skal du give Microsoft Office Access 2007 mulighed for at sætte de opdelte oplysninger sammen igen. Det gør du ved at indsætte fælles felter i de relaterede tabeller. For at kunne gøre det korrekt skal du dog først forstå relationerne mellem dine tabeller og derefter angive disse relationer i Office Access 2007-databasen.

Denne artikel beskriver

Introduktion

Typer af tabelrelationer

Hvorfor skal der oprettes tabelrelationer?

Forstå referentiel integritet

Få vist tabelrelationer

Oprette en tabelrelation

Slette en tabelrelation

Ændre en tabelrelation

Gennemtvinge referentiel integritet

Introduktion

Når du har oprettet en tabel til hvert emne i databasen, skal du give Office Access 2007 mulighed for at sætte oplysningerne sammen igen, når du har brug for det. Det gør du ved at indsætte fælles felter i de relaterede tabeller og ved at definere relationer mellem tabellerne. Du kan derefter oprette forespørgsler, formularer og rapporter, der viser oplysninger fra flere tabeller samtidig. Den formular, der vises her, indeholder f.eks. oplysninger, der er hentet fra flere tabeller:

Formularen Ordrer viser relaterede oplysninger fra fem tabeller på én gang

1. Oplysningerne i denne formular stammer fra tabellen Kunder...

2. ...tabellen Ordrer...

3. ...tabellen Produkter...

4. ...og tabellen Ordredetaljer.

Kundenavnet i boksen Faktura til hentes fra tabellen Kunder, værdierne Ordre-id og Ordredata kommer fra tabellen Ordrer, produktnavnet kommer fra tabellen Produkter, og værdierne Pris pr enhed og Antal kommer fra tabellen Ordrespecifikationer. Disse tabeller er kædet sammen på forskellige måder for at hente oplysninger fra dem til formularen.

I eksemplet ovenfor skal felterne i tabellerne koordineres, så de viser oplysninger om den samme ordre. De koordineres ved hjælp af tabelrelationer. En tabelrelation sammenholder data i nøglefelter, der ofte er et felt, som har samme navn i begge felter. I de fleste tilfælde fungerer disse tilsvarende felter som den primære nøgle i den ene, hvilket giver hver post et entydigt id, og som en fremmed nøgle i den anden tabel. Medarbejdere kan f.eks. forbindes med ordrer, de er ansvarlige for, ved at oprette en tabelrelation mellem felterne Medarbejdernr. i tabellerne Medarbejdere og Ordrer.

Medarbejder-id bruges som primær nøgle i tabellen Medarbejdere og fremmed nøgle i tabellen Ordrer.

1. Medarbejder-id vises i begge tabeller - som primær nøgle ...

2.   ... og som fremmed nøgle.

Toppen af siden

Typer af tabelrelationer

Der findes tre typer tabelrelationer.

  • En en-til-mange-relation

    Du har f.eks. en ordreregistreringsdatabase, der indeholder tabellen Kunder og tabellen Ordrer. En kunde kan afgive ethvert antal ordrer. Det betyder, at der for hver kunde i tabellen Kunder kan være mange ordrer i tabellen Ordrer. Relationen mellem tabellen Kunder og tabellen Ordrer er derfor en en-til-mange-relation.

    Når du skal repræsentere en en-til-mange-relation i databasedesignet, skal du tage den primære nøgle på "en"-siden af relationen og tilføje den som et eller flere ekstra felter i tabellen på "mange"-siden af relationen. I dette tilfælde skal du f.eks. tilføje et nyt felt - id-feltet fra tabellen Kunder - i tabellen Ordrer og give det navnet Kunde-id. Access kan derefter bruge kunde-id-nummeret i tabellen Ordrer til at finde den korrekte kunde til hver ordre.

  • En mange-til-mange-relation

    Du skal nu se på relationen mellem tabellen Produkter og tabellen Ordrer. En enkelt ordre kan omfatte mere end ét produkt, og et enkelt produkt kan forekomme i mange ordrer. Derfor kan der for hver post i tabellen Ordrer være mange poster i tabellen Produkter, og for hver post i tabellen Produkter kan der være mange poster i tabellen Ordrer. Denne type relation kaldes en mange-til-mange-relation, fordi der kan være mange ordrer pr. produkt og mange produkter pr. ordre. Når du skal identificere en mange-til-mange-relation, skal du derfor se på begge sider af relationen.

    For at repræsentere en mange-til-mange-relation skal du oprette en tredje tabel, ofte kaldet en samlingstabel, der opdeler mange-til-mange-relationen i to en-til-mange-relationer. Du skal indsætte den primære nøgle fra hver af de to tabeller i den tredje tabel. Det medfører, at hver forekomst af relationen registreres i den tredje tabel. Tabellen Ordrer og tabellen Produkter har f.eks. en mange-til-mange-relation, der defineres ved at oprette to en-til-mange-relationer til tabellen Ordrespecifikationer. En ordre kan bestå af mange produkter, og hvert produkt kan forekomme i mange ordrer.

  • En en-til-en-relation

    I en en-til-en-relation kan hver post i den første tabel kun have én tilsvarende post i den anden tabel, og hver post i den anden tabel kan kun have én tilsvarende post i den første tabel. Denne type relation er ikke almindelig, fordi de fleste oplysninger, der er relateret på denne måde, findes i samme tabel. Du kan anvende en en-til-en-relation til at opdele en tabel med mange felter, til at isolere en del af en tabel af sikkerhedsgrunde eller til at lagre oplysninger, der kun gælder for en del af hovedtabellen. Når du har en sådan relation, skal de to tabeller dele et fælles felt.

Toppen af siden

Hvorfor skal der oprettes tabelrelationer?

Du kan oprette tabelrelationer eksplicit ved hjælp af vinduet relationer eller ved at trække et felt fra ruden Feltliste. Office Access 2007 bruger tabelrelationer til Sådan joinforbinde tabeller, når du skal bruge dem i et databaseobjekt. Der er flere årsager, hvorfor du skal oprette tabelrelationer, før du opretter andre databaseobjekter, som formularer, forespørgsler, makroer og rapporter.

  • Tabelrelationer giver oplysninger til forespørgselsdesign

    Hvis du vil arbejde med poster fra mere end én tabel, skal du ofte oprette en forespørgsel, der joinforbinder tabellerne. Forespørgslen fungerer ved at sammenligne værdierne i det primære nøgle-felt i den første tabel med et fremmed nøgle-felt i den anden tabel. For f.eks. at returnere rækker, der viser alle ordrer for hver kunde, skal du oprette en forespørgsel, der joinforbinder tabellen Kunder med tabellen Ordrer ud fra feltet Kunde-id. I vinduet Relationer kan du manuelt angive de felter, der skal joinforbindes. Hvis du allerede har defineret en relation mellem tabellerne, indsætter Office Access 2007 standardjoinforbindelsen ud fra den eksisterende tabelrelation. Hvis du bruger en af forespørgselsguiderne, anvender Access desuden de oplysninger, der indsamles fra de allerede definerede tabelrelationer, til at give dig informerede valgmuligheder og til på forhånd at udfylde egenskabsindstillinger med relevante standardværdier.

  • Tabelrelationer giver oplysninger til formular- og rapportdesign

    Når du designer en formular eller rapport, bruger Office Access 2007 de oplysninger, der indsamles fra de allerede definerede tabelrelationer, til at give dig informerede valgmuligheder og til på forhånd at udfylde egenskabsindstillinger med relevante standardværdier.

  • Tabelrelationer er det grundlag, hvorpå du kan gennemtvinge referentiel integritet for at undgå horeungeposter i databasen. En horeungepost er en post, der henviser til en post, der ikke findes, f.eks. en ordrepost, der henviser til en kundepost, der ikke findes.

    Når du designer en database, opdeler du oplysningerne i tabeller, som hver har en primær nøgle. Du føjer derefter fremmede nøgler til relaterede tabeller, der henviser til disse primære nøgler. Disse par af primære nøgler og fremmede nøgler udgør grundlaget for tabelrelationer og forespørgsler med flere tabeller. Det er derfor vigtigt, at disse referencer mellem fremmede nøgler og primære nøgler altid er synkroniserede. Referentiel integritet hjælper med at sikre, at henvisninger er synkroniserede, og afhænger af tabelrelationer.

Toppen af siden

Forstå referentiel integritet

Når du designer en database, opdeler du oplysningerne i mange emnebaserede tabeller for at minimere dataredundans. Du giver derefter Office Access 2007 mulighed for at sætte de opdelte oplysninger sammen igen ved at indsætte fælles felter i relaterede tabeller. For at repræsentere en en-til-mange-relation tager du f.eks. den primære nøgle fra en-tabellen og tilføjer den som et ekstra felt i "mange"-tabellen. For at sætte dataene sammen igen tager Access værdien i "mange"-tabellen og slår den tilsvarende værdi op i "en"-tabellen. På den måde henviser "mange"-tabellen til de tilsvarende værdier i "en"-tabellen.

Du har f.eks. en en-til-mange-relation mellem Speditionsfirmaer og Ordrer, og du vil slette et speditionsfirma. Hvis det speditionsfirma, du vil slette, har ordrer i tabellen Ordrer, bliver disse ordrer "horeunger", når du sletter posten for speditionsfirmaet. Ordrerne indeholder stadig et speditionsfirma-id, men id'et er ikke længere gyldigt, fordi den post, det henviser til, ikke længere findes.

Formålet med referentiel integritet er at forhindre horeunger og holde henvisningerne synkroniserede, så denne hypotetiske situation aldrig opstår.

Du kan gennemtvinge referentiel integritet ved at aktivere den til en tabelrelation (se Gennemtving referentiel integritet for en trinvis vejledning). Når træder i kraft, afviser Access alle handlinger, der ville krænker referentiel integritet for tabelrelationen. Det betyder, at Access afviser begge opdateringer, der ændres destinationen for en reference, og sletninger, der fjerner destinationen for en reference. Dog kan du muligvis helt korrekt behov for at ændre den primære nøgle til en afsender, der indeholder ordrer i tabellen Ordrer. I disse tilfælde er du virkelig behøver for at få adgang til automatisk at opdatere alle udføres rækkerne som en del af en enkelt handling. På den måde, Access sikrer, at opdateringen er fuldført i fuld, så din database ikke er tilbage i en inkonsekvent tilstand, med nogle rækker, der er opdateret og nogle ikke. Access understøtter derfor indstillingen kaskadevis opdatering af relaterede felter. Når du gennemtvinge referentiel integritet og vælge indstillingen kaskadevis opdatering af relaterede felter, og du derefter opdatere en primær nøgle, opdaterer Access automatisk alle felter, som henviser til den primære nøgle.

Du har muligvis også en gyldig grund til at slette en række og alle relaterede poster, f.eks. en post for et speditionsfirma og alle poster, der er relateret til det pågældende speditionsfirma. Derfor understøtter Access indstillingen Kaskadevis sletning af relaterede poster. Når du gennemtvinger referentiel integritet og vælger indstillingen Kaskadevis sletning af relaterede poster, og du derefter sletter en post på den primære nøgle-side i relationen, sletter Access automatisk alle poster, der henviser til den primære nøgle.

Toppen af siden

Få vist tabelrelationer

Klik på Relationer under fanen Databaseværktøjer for at få vist tabelrelationerne. Vinduet Relationer åbnes og viser alle eksisterende relationer. Hvis du endnu ikke har defineret relationer, og du åbner vinduet Relationer for første gang, bliver du bedt om at føje en tabel eller forespørgsel til vinduet.

Åbne vinduet Relationer

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Klik på Relationer i gruppen Vis/skjul på fanen Databaseværktøjer.

  4. Hvis databasen indeholder relationer, vises vinduet Relationer. Hvis databasen ikke indeholder relationer, og du åbner vinduet Relationer for første gang, vises dialogboksen Vis tabel. Klik på Luk for at lukke dialogboksen.

  5. Klik på Vis alle relationer i gruppen Relationer under fanen Design.

    Alle de relationer, der er defineret i databasen, vises. Bemærk, at skjulte tabeller (tabeller, hvor afkrydsningsfeltet Skjult er markeret i dialogboksen Egenskaber for tabellen) og deres relationer ikke vises, medmindre du har markeret afkrydsningsfeltet Vis skjulte objekter i dialogboksen Navigationsindstillinger.

    Du kan finde flere oplysninger om indstillingen Vis skjulte objekter i artiklen Vejledning til navigationsruden.

vinduet Relationer

1. Den primære nøgle

2. Denne linje repræsenterer relationen

3. Den fremmede nøgle

En tabelrelation vises med en relationslinje mellem tabellerne i vinduet Tabeller. En relation, der ikke gennemtvinger referentiel integritet, vises som en tynd linje mellem de fælles felter, der understøtter relationen. Når du vælger relationen ved at klikke på dens linje, bliver linjen tykkere for at angive, at den er valgt. Hvis du gennemtvinger referentiel integritet for denne relation, bliver linjen tykkere i hver ende. Tallet 1 vises desuden over den tykke del af linjen på den ene side af relationen og symbolet for uendelighed () vises over den tykke del af linjen på den anden side.

Når vinduet Relationer er aktivt, kan du kan vælge følgende kommandoer på båndet, der er en del af Brugergrænsefladen Microsoft Fluent (båndet)n:

I gruppen Funktioner under fanen Design:

  • Rediger relationer    Åbner dialogboksen Rediger relationer. Når du markerer en relationslinje, kan du klikke på Rediger relationer for at ændre tabelrelationen. Du kan også dobbeltklikke på relationslinjen.

  • Ryd layout    Fjerner alle tabeller og relationer, der vises i vinduet Relationer. Bemærk, at kommandoen kun skjuler tabellerne og relationerne - den sletter dem ikke.

  • Relationsrapport    Opretter en rapport, der viser tabellerne og relationerne i databasen. Rapporten viser kun de tabeller og relationer, der ikke er skjult i vinduet Relationer.

I gruppen Relationer under fanen Design:

  • Vis tabel    Åbner dialogboksen Vis tabel, så du kan vælge de tabeller og forespørgsler, der skal vises i vinduet Relationer.

  • Skjul tabel    Skjuler den markerede tabel i vinduet Relationer.

  • Vis direkte relationer    Viser alle relationer og relaterede tabeller for den markerede tabel i vinduet Relationer, hvis de ikke allerede vises.

  • Alle relationer    Viser alle relationer og relaterede tabeller i din database i vinduet relationer. Bemærk, at skjulte tabeller (tabeller, skjult Markér afkrydsningsfeltet i dialogboksen Egenskaber for tabellens er markeret) og deres relationer ikke vises medmindre Vis skjulte tabeller er markeret i dialogboksen Navigationsindstillinger.

    Du kan finde flere oplysninger om indstillingen Vis skjulte tabeller artiklen vejledning til navigationsruden.

  • Luk    Lukker vinduet Relationer. Hvis du har ændret layoutet i vinduet Relationer, bliver du spurgt, om du vil gemme ændringerne.

Toppen af siden

Oprette en tabelrelation

Du kan oprette en tabelrelation ved at bruge vinduet Relationer eller ved at trække et felt til et dataark fra ruden Feltliste. Når du opretter en relation mellem tabeller, skal de fælles felter ikke nødvendigvis have samme navne, selvom det ofte er tilfældet. Felterne skal have samme datatype. Hvis feltet med den primære nøgle er et autonummereringsfelt, kan feltet med den fremmede nøgle dog være et talfelt, hvis egenskaben Feltstørrelse er den samme for begge felter. Du kan f.eks. relatere et autonummereringsfelt og et talfelt, hvis egenskaben Feltstørrelse for begge felter er Langt heltal. Selv når begge de tilsvarende felter er talfelter, skal de have den samme egenskabsindstilling for Feltstørrelse.

Oprette en tabelrelation ved at bruge vinduet Relationer

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Klik på Relationer i gruppen Vis/skjul på fanen Databaseværktøjer.

  4. Hvis du ikke har defineret relationer endnu, vises dialogboksen Vis tabel automatisk. Hvis den ikke vises, skal du klikke på Vis tabel i gruppen Relationer under fanen Design.

    I dialogboksen Vis tabel vises alle tabeller og forespørgsler i databasen. Klik på Tabeller, hvis du kun vil se tabeller. Klik på Forespørgsler, hvis du kun vil se forespørgsler. Klik på Begge, hvis du vil se både tabeller og forespørgsler.

  5. Marker en eller flere tabeller eller forespørgsler, og klik derefter på Tilføj. Når du er færdig med at føje tabeller og forespørgsler til vinduet Relationer, skal du klikke på Luk.

  6. Træk et felt (typisk den primære nøgle) fra den ene tabel til det fælles felt (den fremmede nøgle) i den anden tabel. Tryk på CTRL, hvis du vil trække flere felter, klik på hvert enkelt felt, og træk dem derefter.

    Dialogboksen Rediger relationer åbnes.

  7. Kontroller, at de viste feltnavne er de fælles felter for relationen. Hvis et felt er forkert, skal du klikke på feltnavnet og vælge et nyt felt på listen.

    Hvis du vil gennemtvinge referentiel integritet for denne relation, skal du markere afkrydsningsfeltet Gennemtving referentiel integritet. Se Forstå referentiel integritet og afsnittene Gennemtving referentiel integritet kan finde flere oplysninger om referentiel integritet.

  8. Klik på Opret.

    Relationslinjen tegnes mellem de to tabeller, Hvis du har markeret afkrydsningsfeltet Gennemtving referentiel integritet, er linjen tykkere i begge ender. Hvis du har markeret afkrydsningsfeltet Gennemtving referentiel integritet vises tallet 1 over den tykke del af linjen på den ene side af relationen, og symbolet for uendelighed () vises over den tykke del af linjen på den anden side.

Træk et felt fra en tabel til det tilsvarende felt i en anden tabel

Bemærkninger: 

  • Sådan oprettes en en-til-en-relation    Begge de fælles felter (normalt felterne med den primære nøgle og den fremmede nøgle) skal have et entydigt indeks. Det betyder, at egenskaben Indekseret skal være indstillet til Ja - ingen dubletter for disse felter. Hvis begge felter har et entydigt indeks, oprettes der en en-til-en-relation.

  • Sådan oprettes en en-til-mange-relation    Feltet på "en"-siden (typisk den primære nøgle) skal have et entydig indeks. Det betyder, at egenskaben Indekseret skal være indstillet til Ja - ingen dubletter for dette felt. Feltet på "mange"-siden skal ikke have et entydig indeks. Det kan have et indeks, men det skal tillade dubletter. Det betyder, at egenskaben Indekseret skal være indstillet til Nej eller Ja - dubletter tillades for dette felt. Hvis det ene felt har et entydigt indeks, og det andet ikke har, oprettes der en en-til-mange-relation i Access.

Oprette en tabelrelation ved hjælp af ruden Feltliste

I Office Access 2007, kan du tilføje et felt til en eksisterende tabel, der er åben i dataarkvisning ved at trække det fra ruden Feltliste. Ruden Feltliste viser tilgængelige felter i relaterede tabeller og felter også tilgængelig i andre tabeller. Når du trækker et felt fra en "andet" (ikke-relateret) tabel og derefter fuldføre guiden Opslag, oprettes der automatisk en ny en-til-mange-relation mellem tabellen i ruden Feltliste og den tabel, som du har trukket feltet. Denne relation, der er oprettet i Access, ikke gennemtvinge referentiel integritet som standard. Hvis du vil gennemtvinge referentiel integritet, skal du redigere relationen. I afsnittet ændre en tabelrelation kan finde flere oplysninger.

Sådan åbnes en tabel i dataarkvisning

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Højreklik på den tabel, du vil føje feltet og oprette relation til, i navigationsruden, og klik derefter på Dataarkvisning i genvejsmenuen.

Åbne ruden Feltliste

  • Klik på Tilføj eksisterende felter i gruppen Felter og kolonner på fanen Dataark.

    Billede af Access-båndet

    Ruden Feltliste vises.

I ruden Feltliste vises alle de andre tabeller i databasen, og de er inddelt i kategorier. Når du arbejder med en tabel i dataarkvisning, vises felter i den ene af de to kategorier i ruden Feltliste: Tilgængelige felter i relaterede tabeller og Tilgængelige felter i andre tabeller. I den første kategori vises alle de tabeller, der har en relation til den tabel, du aktuelt arbejder med. I den anden kategori vises alle de tabeller, som tabellen ikke har en relation til.

Når du klikker på plustegnet (+) ud for et tabelnavn i ruden Feltliste, vises en liste over alle de felter, der er tilgængelige i denne tabel. Hvis du vil tilføje et felt i tabellen, skal du trække det ønskede felt fra ruden Feltliste til tabellen i dataarkvisning.

Sådan tilføjes et felt og oprettes en relation i ruden Feltliste

  1. Klik på Tilføj eksisterende felter i gruppen Felter og kolonner på fanen Dataark.

    Billede af Access-båndet

    Ruden Feltliste vises.

  2. Klik på plustegnet (+) ud for et tabelnavn under Tilgængelige felter i andre tabeller for at få vist listen over felterne i denne tabel.

  3. Træk det ønskede felt fra ruden Feltliste til den tabel, der er åben i dataarkvisning.

  4. Når indsætningslinjen vises, skal du slippe feltet på den ønskede plads.

    Guiden Opslag starter.

  5. Følg vejledningen på skærmen for at fuldføre Guiden Opslag.

    Feltet vises i tabellen i dataarkvisning.

Når du trækker et felt fra en "andet" (ikke-relateret) tabel og derefter fuldføre guiden Opslag, oprettes der automatisk en ny en-til-mange-relation mellem tabellen på Feltlisten og den tabel, som du har trukket feltet. Denne relation, der er oprettet i Access, ikke gennemtvinge referentiel integritet som standard. Hvis du vil gennemtvinge referentiel integritet, skal du redigere relationen. I afsnittet ændre en tabelrelation kan finde flere oplysninger.

Toppen af siden

Slette en tabelrelation

Hvis du vil fjerne en tabelrelation, skal du slette relationslinjen i vinduet Relationer. Placer markøren præcist, så den peger på relationslinjen, og klik derefter på linjen. Relationslinjen bliver tykkere, når den er markeret. Tryk på DELETE, når relationslinjen er markeret. Når du fjerner en relation, skal du være opmærksom på, at du også fjerner understøttelsen af referentiel integritet for denne relation. Det betyder, at Access ikke længere automatisk forhindrer oprettelse af horeungeposter på "mange"-siden af en relation.

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Klik på Relationer i gruppen Vis/skjul på fanen Databaseværktøjer.

Vinduet Relationer vises.

Hvis du endnu ikke har defineret relationer, og du åbner vinduet Relationer for første gang, vises dialogboksen Vis tabel. Klik på Luk, hvis dialogboksen vises.

  1. Klik på Vis alle relationer i gruppen Relationer under fanen Design.

Alle tabeller, der har relationer, vises med relationslinjer.

  1. Klik på relationslinjen for den relation, du vil slette. Relationslinjen bliver tykkere, når den er markeret.

  2. Tryk på DELETE.

    Eller

    Højreklik, og klik derefter på Slet.

  3. Access viser muligvis meddelelsen Er du sikker på, at du vil slette den markerede relation permanent fra databasen?. Hvis denne bekræftelsesmeddelelse vises, skal du klikke på Ja.

Bemærk: Hvis en af tabellerne i tabelrelationen er i brug, evt. af en anden person eller proces, eller i et åbent databaseobjekt (f.eks. en formular), kan du ikke slette relationen. Du skal først lukke alle åbne objekter, der anvender disse tabeller, inden du kan fjerne relationen.

Toppen af siden

Ændre en tabelrelation

Du kan ændre en tabelrelation ved at markere den i vinduet Relationer og derefter redigere den. Placer markøren præcist, så den peger på relationslinjen, og klik derefter på linjen for at markere den. Relationslinjen bliver tykkere, når den er markeret. Når relationslinjen er markeret, skal du dobbeltklikke på den eller klikke på Rediger relationer i gruppen Funktioner under fanen Design. Dialogboksen Rediger relationer åbnes.

Foretag de ønskede ændringer i dialogboksen Rediger relationer

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Klik på Relationer i gruppen Vis/skjul på fanen Databaseværktøjer.

Vinduet Relationer vises.

Hvis du endnu ikke har defineret relationer, og du åbner vinduet Relationer for første gang, vises dialogboksen Vis tabel. Klik på Luk, hvis dialogboksen vises.

  1. Klik på Vis alle relationer i gruppen Relationer under fanen Design.

Alle tabeller med relationer vises, og relationslinjerne er synlige. Vær opmærksom på, at de skjulte tabeller (dvs. tabeller, hvor afkrydsningsfeltet Skjult i boksen med tabellens Egenskaber er markeret) og deres relationer ikke vises, medmindre du har valgt Vis skjulte objekter i dialogboksen Navigationsindstillinger.

Du kan finde flere oplysninger om indstillingen Vis skjulte objekter i artiklen Vejledning til navigationsruden.

  1. Klik på relationslinjen til den relation, som du vil ændre. Relationslinjen bliver tykkere, når den er markeret.

  2. Dobbeltklik på relationslinjen.

    Eller

    Klik på Rediger relationer i gruppen Funktioner under fanen Design.

    Dialogboksen Rediger relationer åbnes.

    Dialogboksen Rediger relationer

  3. Foretag de ønskede ændringer, og klik derefter på OK.

    Dialogboksen Rediger relationer kan du ændre en tabelrelation. Du kan ændre de tabeller eller forespørgsler på begge sider af relationen, eller felterne på hver side. Du kan også angive jointypen, eller gennemtvinge referentiel integritet og vælge en indstilling for kaskadevis. Du kan finde flere oplysninger om jointypen og hvordan du konfigurerer programmet, i afsnittet angive jointypen. Du kan finde flere oplysninger om, hvordan du gennemtvinge referentiel integritet, og vælg en kaskadevis indstilling i afsnittet Gennemtving referentiel integritet.

Angive jointypen

Når du definerer en tabelrelation, bruges oplysningerne om relationen i forespørgselsdesignet. Hvis du f.eks. definerer en relation mellem to tabeller, og du derefter opretter en forespørgsel, der anvender disse tabeller, vælger Access som standard automatisk de relaterede felter ud fra de felter, der er angivet i relationen. Du kan tilsidesætte disse standardværdier i forespørgslen, men de værdier, der gives af relationen, er ofte de korrekte. Hvis du arbejder med databaser, som ikke er meget simple, vil du ofte komme ud for at relatere og sammensætte data fra mere end én tabel. Det kan derfor være tidsbesparende og fordelagtigt, hvis du definerer standarder ved at oprette relationer.

En forespørgsel med flere tabeller kombinerer data fra mere end én tabel ved at sammenligne værdierne i fælles felter. Den handling, der udfører sammenligningen og kombinationen kaldes en joinforbindelse. Du ønsker f.eks. at vise kundeordrer. Du opretter en forespørgsel, der joinforbinder tabellen Kunder og tabellen Ordrer på feltet Kunde-id. Forespørgselsresultater indeholder kun kundeoplysninger og ordreoplysninger for de rækker, hvor der findes en tilsvarende række.

En af de værdier, du kan angive for hver relation, er jointypen. Jointypen fortæller Access, hvilke poster der skal medtages i et forespørgselsresultat. Du har f.eks. igen en forespørgsel, der joinforbinder tabellen Kunder og tabellen ordrer på de fælles felter, der repræsenterer Kunde-id'et. Hvis du bruger standardjointypen (kaldet en indre joinforbindelse), returnerer forespørgslen kun de Kunde-rækker og Ordrer-rækker, hvor de fælles felter (også kaldet de joinforbundne felter) er ens.

Men du vil f.eks. medtage alle Kunder - også kunder, der endnu ikke har afgivet nogen ordrer. For at gøre det skal du ændre jointypen fra en indre joinforbindelse til det, der kaldes en venstre ydre joinforbindelse. En venstre ydre joinforbindelse returnerer alle rækker fra tabellen på venstre side af relationen og kun de, der er relaterede, fra tabellen på højre side. En højre ydre joinforbindelse returnerer alle rækkerne på højre side og kun de, der er relaterede, på venstre side.

Bemærk: I dette tilfælde henviser "venstre" og "højre" til placeringen af tabellerne i dialogboksen Rediger relationer, ikke i vinduet Relationer.

Du skal tænke på det resultat, du oftest ønsker fra en forespørgsel, der joinforbinder tabellerne i denne relation, og indstille jointypen i overensstemmelse hermed.

Angive jointypen

  1. Klik på Jointype i dialogboksen Rediger relationer.

    Dialogboksen Joinegenskaber vises.

  2. Vælg den ønskede type, og klik derefter på OK.

I følgende tabel (der anvender tabellerne Kunder og Ordrer) vises de tre valgmuligheder i dialogboksen Joinegenskaber, den jointype, de anvender, og om alle rækker eller relaterede rækker medtages for hver tabel.

Valg

Relationsjoin

Venstre tabel

Højre tabel

1. Medtag kun rækker, hvor de joinforbundne felter fra begge tabeller er ens.

Indre joinforbindelse

Matchende rækker

Matchende rækker

2. Medtag ALLE poster fra "Kunder" og kun de poster fra "Ordrer", hvor de joinforbundne felter er ens.

Venstre ydre joinforbindelse

Alle rækker

Matchende rækker

3. Medtag ALLE poster fra "Ordrer" og kun de poster fra "Kunder", hvor de joinforbundne felter er ens.

Højre ydre joinforbindelse

Matchende rækker

Alle rækker

Hvis du vælger indstilling 2 eller 3, vises der en pil på relationslinjen. Denne pil peger på den side af relationen, hvor der kun vises matchende rækker.

Redigere i dialogboksen Joinegenskaber

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Klik på Relationer i gruppen Vis/skjul på fanen Databaseværktøjer.

Vinduet Relationer vises.

Hvis du endnu ikke har defineret relationer, og du åbner vinduet Relationer for første gang, vises dialogboksen Vis tabel. Klik på Luk, hvis dialogboksen vises.

  1. Klik på Vis alle relationer i gruppen Relationer under fanen Design.

Alle tabeller, der har relationer, vises med relationslinjer. Bemærk, at skjulte tabeller (tabeller, hvor afkrydsningsfeltet Skjult er markeret i dialogboksen Egenskaber for tabellen) og deres relationer ikke vises, medmindre du har markeret Vis skjulte objekter i dialogboksen Navigationsindstillinger.

Du kan finde flere oplysninger om indstillingen Vis skjulte objekter i artiklen Vejledning til navigationsruden.

  1. Klik på relationslinjen til den relation, som du vil ændre. Relationslinjen bliver tykkere, når den er markeret.

  2. Dobbeltklik på relationslinjen.

    Eller

    Klik på Rediger relationer i gruppen Funktioner under fanen Design.

    Dialogboksen Rediger relationer åbnes.

  3. Klik på Jointype

  4. Klik på en indstilling i dialogboksen Joinegenskaber, og klik derefter på OK.

    Dialogboksen Joinegenskaber

  5. Foretag eventuelle yderligere ændringer af relationen, og klik derefter på OK.

Toppen af siden

Gennemtvinge referentiel integritet

Formålet med referentiel integritet er at forhindre uafhængige poster og holde henvisningerne synkroniserede, så du ikke har nogen poster, som henviser til andre poster, der ikke længere findes. Du kan gennemtvinge referentiel integritet ved at aktivere den til en tabelrelation. Når træder i kraft, afviser Access alle handlinger, der ville krænker referentiel integritet for tabelrelationen. Access afviser opdateringer, der ændres destinationen for en reference, og sletninger, der fjerner destinationen for en reference. Hvis du vil have adgang sprede referentiel opdateringer og sletninger, så alle relaterede rækker er ændret i overensstemmelse hermed, i afsnittet angive kaskadeindstillingerne.

Aktivere og deaktivere referentiel integritet

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Klik på Relationer i gruppen Vis/skjul på fanen Databaseværktøjer.

Vinduet Relationer vises.

Hvis du endnu ikke har defineret relationer, og du åbner vinduet Relationer for første gang, vises dialogboksen Vis tabel. Klik på Luk, hvis dialogboksen vises.

  1. Klik på Vis alle relationer i gruppen Relationer under fanen Design.

Alle tabeller med relationer vises, og relationslinjerne er synlige. Vær opmærksom på, at de skjulte tabeller (dvs. tabeller, hvor afkrydsningsfeltet Skjult i boksen med tabellens Egenskaber er markeret) og deres relationer ikke vises, medmindre du har valgt Vis skjulte objekter i dialogboksen Navigationsindstillinger.

Du kan finde flere oplysninger om indstillingen Vis skjulte objekter i artiklen Vejledning til navigationsruden.

  1. Klik på relationslinjen til den relation, som du vil ændre. Relationslinjen bliver tykkere, når den er markeret.

  2. Dobbeltklik på relationslinjen.

    Eller

    Klik på Rediger relationer i gruppen Funktioner under fanen Design.

    Dialogboksen Rediger relationer åbnes.

  3. Marker afkrydsningsfeltet Gennemtving referentiel integritet.

  4. Foretag eventuelle yderligere ændringer af relationen, og klik derefter på OK.

Når du har valgt at gennemtvinge referentiel integritet, træder følgende regler i kraft:

  • Du kan ikke angive en værdi i fremmed nøgle-feltet i en relateret tabel, hvis denne værdi ikke findes i primær nøgle-feltet i den primære tabel. Hvis du gør det, vil der forekomme tabte poster. 

  • Du kan ikke slette en post fra en primær tabel, hvis der findes tilsvarende poster i en relateret tabel. Du kan f.eks. ikke slette en medarbejderpost fra tabellen Medarbejdere, hvis der findes ordrer, der er tildelt til denne medarbejder, i tabellen Ordrer. Du kan dog vælge at slette en primær post og alle relaterede poster i en handling ved at markere afkrydsningsfeltet Kaskadevis sletning af relaterede poster.

  • Du kan ikke ændre værdien for en primær nøgle i den primære tabel, hvis det resulterer i oprettelsen af horeungeposter. Du kan f.eks. ikke ændre et ordrenummer i tabellen Ordrer, hvis linjeelementer er knyttet til den pågældende ordre i tabellen Ordreoplysninger. Du kan dog vælge at opdatere en primær post og alle relaterede poster i en handling ved at markere afkrydsningsfeltet Kaskadevis opdatering af relaterede felter.

    Bemærkninger: Hvis du har problemer med at aktivere referentiel integritet, skal du være opmærksom på, at følgende forudsætninger skal være opfyldt for at gennemtvinge referentiel integritet:

    • Det fælles felt fra den primære tabel skal være en primær nøgle eller have et entydigt indeks.

    • De fælles felter skal have samme datatype. Den eneste undtagelse er, at et autonummereringsfelt kan relateres til et talfelt, hvor egenskabsindstillingen Feltstørrelse er indstillet til Langt heltal.

    • Begge tabeller skal findes i den samme Access-database. Referentiel integritet kan ikke gennemtvinges i sammenkædede tabeller. Hvis kildetabellerne er i Access-format, kan du dog åbne den database, de er gemt i, og aktivere referentiel integritet i denne database.

Angive kaskadeindstillinger

Der kan opstå en situation, hvor du har brug for at ændre værdien på "en"-siden af en relation. I et sådant tilfælde har du brug for, at Access automatisk opdaterer alle de påvirkede rækker som en del af en enkelt handling. På den måde udføres opdateringen fuldt ud, så databasen ikke efterlades i en ikke-overensstemmende tilstand, hvor nogle rækker er opdateret og andre ikke. Access hjælper dig med at undgå dette problem ved at understøtte funktionen Kaskadevis opdatering af relaterede felter. Når du gennemtvinger referentiel integritet og vælger indstillingen Kaskadevis opdatering af relaterede felter, og du derefter opdaterer en primær nøgle, opdaterer Access automatisk alle felter, der henviser til den primære nøgle.

Du kan også have brug for at slette en række og alle relaterede poster, f.eks. posten for et speditionsfirma og alle relaterede ordrer for dette speditionsfirma. Derfor understøtter Access indstillingen Kaskadevis sletning af relaterede poster. Når du gennemtvinger referentiel integritet og vælger indstillingen Kaskadevis sletning af relaterede poster, sletter Access automatisk alle poster, der henviser til den primære nøgle, når du sletter den post, der indeholder den primære nøgle.

Aktivere eller deaktivere kaskadevis opdatering eller sletning

  1. Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Åbn.

  2. Vælg og åbn databasen i dialogboksen Åbn.

  3. Klik på Relationer i gruppen Vis/skjul på fanen Databaseværktøjer.

Vinduet Relationer vises.

Hvis du endnu ikke har defineret relationer, og du åbner vinduet Relationer for første gang, vises dialogboksen Vis tabel. Klik på Luk, hvis dialogboksen vises.

  1. Klik på Vis alle relationer i gruppen Relationer under fanen Design.

Alle tabeller med relationer vises, og relationslinjerne er synlige. Vær opmærksom på, at de skjulte tabeller (dvs. tabeller, hvor afkrydsningsfeltet Skjult i boksen med tabellens Egenskaber er markeret) og deres relationer ikke vises, medmindre du har valgt Vis skjulte objekter i dialogboksen Navigationsindstillinger.

Du kan finde flere oplysninger om indstillingen Vis skjulte objekter, vejledning til navigationsruden.

  1. Klik på relationslinjen til den relation, som du vil ændre. Relationslinjen er tykkere, når den er valgt.

  2. Dobbeltklik på relationslinjen.

    Eller

    Klik på Rediger relationer i gruppen Funktioner under fanen Design.

    Dialogboksen Rediger relationer åbnes.

  3. Marker afkrydsningsfeltet Gennemtving referentiel integritet.

  4. Marker afkrydsningsfeltet Kaskadevis opdatering af relaterede felter eller Kaskadevis sletning af relaterede poster, eller marker dem begge.

  5. Foretag eventuelle yderligere ændringer af relationen, og klik derefter på OK.

Bemærk: Hvis den primære nøgle er et felt af typen Autonummerering, vil markering af afkrydsningsfeltet Kaskadevis opdatering af relaterede felter ikke have nogen betydning, fordi du ikke kan ændre værdien i et felt af typen Autonummerering.

Toppen af siden

Bemærk: Ansvarsfraskrivelse for maskinoversættelse: Denne artikel er blevet oversat af et computersystem uden menneskelig indgriben. Microsoft tilbyder disse maskinoversættelse for at hjælpe ikke-engelsktalende brugere til at kunne nyde indhold om Microsofts produkter, tjenester og teknologier. Da artiklen er maskinoversat, kan den indeholde forkerte ord eller syntaks- eller grammatikfejl.

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×