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 indeholder

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.

Kundenavn i feltet Faktura til er hentet fra tabellen Kunder, ordre-ID og Ordredato værdierne kommer fra tabellen Ordrer, produktnavnet kommer fra tabellen produkter og enhedspris og antal værdier, der kommer fra tabellen Ordreoplysninger. Disse tabeller er knyttet til hinanden i en række metoder til 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-relation til to en-til-mange-relationer. Du kan indsætte den primære nøgle fra hver af de to tabeller i den tredje tabel. Den tredje tabel poster som et resultat hver forekomst eller forekomst af relationen. Tabellen Ordrer og tabellen produkter har en mange-til-mange-relation, der er defineret ved at oprette to en-til-mange-relationer til tabellen Ordreoplysninger. En ordre kan bestå af mange produkter, og hvert produkt kan forekomme i mange ordrer.

  • En en-til-en-relation

    Hver post i den første tabel kan have kun én tilsvarende post i den anden tabel i en til-en relation, og hver post i den anden tabel kan have kun én tilsvarende post i den første tabel. Denne type relation er ikke almindelige, fordi oftest bruger de oplysninger, der er relateret på denne måde er gemt i den samme tabel. Du kan bruge en til-en relation til at opdele en tabel med mange felter til at isolere en del af en tabel af sikkerhedsmæssige årsager eller til at gemme oplysninger, der gælder kun for et undersæt af den primære tabel. Når du har en sådan relation, skal begge 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, inddele oplysningerne i tabeller, hver især har en primær nøgle. Derefter kan du føje fremmede nøgler til relaterede tabeller, som henviser til de primære nøgler. Disse fremmed nøgle-primær nøgle par udgangspunktet for tabelrelationer og forespørgsler med flere tabeller. Det er vigtigt, derfor, at disse fremmed nøgle-primær nøgle referencer forbliver synkroniseret. Referentiel integritet hjælper med at sikre dig, der refererer til Hold synkroniseret og er afhængig 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 din tabelrelationer. Vinduet Relationer åbnes og viser alle eksisterende relationer. Hvis der endnu er ikke defineret nogen tabelrelationer, og du er ved at åbne vinduet relationer for første gang, bliver du spurgt, om du kan tilføje en tabel eller forespørgsel i 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 under 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.

    Dette viser alle de definerede relationer i databasen. Bemærk, at skjulte tabeller (tabeller, skjult Markér afkrydsningsfeltet i dialogboksen Egenskaber for tabellens er markeret) og deres relationer ikke vises medmindre afkrydsningsfeltet Vis skjulte objekter er markeret 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, der er repræsenteret af en streg med relation mellem tabeller i vinduet relationer. En relation, der ikke gennemtvinger referentiel integritet vises som en tynd streg mellem de almindelige felter i understøttende relationen. Når du vælger relationen ved at klikke på linjen, thickens linjen for at vise det er markeret. Hvis du gennemtvinge referentiel integritet for denne relation, tykkere linjen i hver ende. Desuden tallet 1 vises over den tyk del på linjen i en-siden af relationen, og uendeligt-symbol () vises over den tyk del på linjen i anden siden.

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.

  • Vis alle relationer    Viser alle relationer og relaterede tabeller i databasen i vinduet Relationer. 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 i 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 hjælp af vinduet relationer eller ved at trække et felt fra ruden Feltliste til et dataark. Når du opretter en relation mellem tabeller, behøver de almindelige felter ikke at have det samme navn, selvom det er ofte den sag, de udfører. I stedet skal disse felter have samme datatype. Hvis primær nøgle-feltet er et autonummereringsfelt, men kan fremmed nøgle-feltet være et talfelt Hvis egenskaben Feltstørrelse for begge felter er den samme. Du kan for eksempel match et autonummereringsfelt og et talfelt, hvis egenskaben Feltstørrelse for begge felter er langt heltal. Når begge almindelige felter er talfelter, have de samme egenskaben 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 under fanen Databaseværktøjer.

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

    Dialogboksen Vis tabel vises alle de tabeller og forespørgsler i databasen. For at se kun tabeller skal du klikke på tabeller. Hvis du vil have vist kun forespørgsler, skal du klikke på forespørgsler. For at se både tabeller og forespørgsler, skal du klikke på både.

  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. Du kan finde flere oplysninger om referentiel integritet i afsnittene Forstå referentiel integritet og Gennemtvinge referentiel integritet.

  8. Klik på Opret.

    Relationslinjen er tegnet mellem de to tabeller. Hvis du har markeret afkrydsningsfeltet Gennemtving referentiel integritet, tykkere linjen i hver ende. Desuden igen vises kun hvis du har markeret afkrydsningsfeltet Gennemtving referentiel integritet, tallet 1 vises over den tyk del på linjen i en-siden af relationen, og uendeligt-symbol () over den tyk del på linjen i anden siden.

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 vha. ruden Feltliste

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

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 under fanen Dataark.

    Billede af båndet i Access

    Ruden Feltliste vises.

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

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.

Tilføje et felt og oprette en relation i ruden Feltliste

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

    Billede af båndet i Access

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

    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 på relationslinjen i vinduet relationer. Placer markøren præcist, så den peger på relationslinjen, og klik derefter på linjen. Relationslinjen tykkere, når den er markeret. Tryk på DELETE med den valgte relationslinje. Bemærk, at når du fjerner en relation, du også fjerne understøttelse af referentiel integritet for denne relation, hvis det er aktiveret. Access forhindrer som et resultat, ikke længere automatisk oprettelse af uafhængige poster 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 under 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.

Foretage æ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 under 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 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.

    Dialogboksen Rediger relationer

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

    I dialogboksen Rediger relationer kan du ændre tabelrelationer. Du kan ændre tabellerne eller forespørgslerne på en af siderne af relationerne eller felterne på begge sider. Desuden kan du angive jointyperne, gennemtvinge referentiel integritet eller vælge en kaskadeindstilling. Du kan finde flere oplysninger om jointypen i afsnittet Angive jointypen. Du kan finde flere oplysninger om, hvordan du gennemtvinger referentiel integritet og vælger en kaskadeindstilling, i afsnittet Gennemtvinge referentiel integritet.

Sådan angives jointypen

Når du definerer en tabelrelation, giver oplysninger om relationen oplysninger til forespørgselsdesign. Eksempelvis hvis du definerer en relation mellem to tabeller, og du derefter oprette en forespørgsel, der anvender disse tabeller, vælger Access automatisk standard identiske felter, der er baseret på de felter, der er angivet i relationen. Du kan tilsidesætte disse indledende standardværdier i forespørgslen, men de værdier, der leveres af relationen der ofte bevise er korrekte. Da tilsvarende og hente data fra mere end én tabel er noget, der udføres ofte i alle undtagen de mest enkle databaser, angive standardindstillinger for ved at oprette relationer kan være tid gemme og nyttige.

En flere tabeloprettelsesforespørgsel kombinerer oplysninger fra mere end én tabel ved at sammenligne værdier i almindelige felter. Den handling, som indeholder de tilsvarende og kombinere kaldes en joinforbindelse. Antag for eksempel, at du vil have vist kundeordrer. Du opretter en forespørgsel, der forbinder tabellen kunder og tabellen ordrer på feltet Kunde-ID. Resultatet af forespørgslen indeholder kundeoplysninger og ordreoplysninger for kun de rækker, hvor der blev fundet en tilsvarende match.

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.

Sådan angives jointypen

  1. Klik på Jointype i dialogboksen Rediger relationer.

    Dialogboksen Joinegenskaber vises.

  2. Klik på de ønskede indstillinger, 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

Joinforbindelse

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 under 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 i 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. 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

Referentiel integritet bruges til at forhindre poster uden relationer og sikre synkronisering af henvisningerne, så databasen ikke indeholder poster, der henviser til andre poster, der ikke længere findes. Du gennemtvinger referentiel integritet ved at aktivere det for en tabelrelation. Når referentiel integritet gennemtvinges, afvises enhver handling, der kan bryde den referentielle integritet for den pågældende tabelrelation. Access afviser opdateringer, der ændrer destinationen for en henvisning, og sletninger, der fjerner destinationen for en henvisning. Hvis du ønsker, at Access skal udbrede opdateringer og sletninger, så alle relaterede rækker ændres tilsvarende, kan du finde flere oplysninger 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 under 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 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. Foretag evt. 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. For eksempel kan ikke du slette en post fra tabellen medarbejdere, hvis der er ordrer, der er tildelt til den pågældende medarbejder i tabellen Ordrer. Du kan dog vælge at slette en primær post og alle relaterede poster på én gang 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 autonummereringsfelter, der kan relateres til et talfelt, hvor egenskaben Feltstørrelse er angivet til Langt heltal.

    • Begge tabeller skal findes i den samme Access-database. Referentiel integritet kan ikke gennemtvinges på sammenkædede tabeller. Hvis der er kildetabeller i Access-format, kan du åbne den database, hvor de er gemt, og Aktivér referentiel integritet i den pågældende database.

Angive kaskadeindstillingerne

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 under 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 i 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 evt. 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.

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×