Veiledning for tabellrelasjoner

Veiledning for tabellrelasjoner

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

Ett av målene for en god databaseutforming er å fjerne overflødige data (like data). For å oppnå dette deler du dataene inn i mange emnebaserte tabeller slik at hvert faktum bare representeres én gang. Du kan deretter angi måte som Access kan bruke til å føre delt informasjon sammen igjen – du gjør dette ved å plassere fellesfelt i tabeller som er relatert. For at dette skal bli riktig må du imidlertid forstå relasjonene mellom tabellene og deretter angi disse relasjonene i databasen din.

I denne artikkelen

Innledning

Typer tabellrelasjoner

Hvorfor opprette tabellrelasjoner?

Forstå referanseintegritet

Vise tabellrelasjoner

Opprette en tabellrelasjon

Slette en tabellrelasjon

Endre en tabellrelasjon

Gjennomføre referanseintegritet

Innføring

Når du har opprettet en tabell for hvert emne i databasen, må du angi en måte som Access kan bruke til å hente informasjonen når det er behov. Du gjør dette ved å plassere fellesfelt i tabeller som er relatert, og ved å definere relasjoner mellom tabellene. Du kan deretter opprette spørringer, skjemaer og rapporter som viser informasjon fra flere tabeller samtidig. Skjemaet som vises her, inkluderer for eksempel informasjon som hentes fra flere tabeller:

Ordreskjema som viser relatert informasjon fra fem tabeller samtidig

1. Informasjonen i dette skjemaet kommer fra Kunder-tabellen ...

2. ... Ordrer-tabellen ...

3. ... Varer-tabellen ...

4. ... og Ordredetaljer-tabellen.

Kundenavnet i Faktureres til-boksen hentes fra kundetabellen, verdiene for ordre-IDen og ordredatoen fra ordretabellen, produktnavnet fra produkttabellen og enhetsprisen og mengden fra tabellen for ordredetaljer. Disse tabellene er koblet til hverandre på mange forskjellige måter for å hente informasjon fra hver av dem og inn i skjemaet.

I det forrige eksemplet måtte feltene i tabellene koordineres slik at de viste informasjon om den samme ordren. Denne koordineringen oppnås ved hjelp av tabellrelasjoner. En tabellrelasjon fungerer på den måten at den sammenligner data i nøkkelfelt, vanligvis et felt med det samme navnet i begge tabellene. I de fleste tilfeller er disse sammenlignbare feltene primærnøkkelen fra en tabell, som gir en entydig identifikator for hver post og en sekundærnøkkel i den andre tabellen. Ansatte kan for eksempel tilknyttes ordrer som de er ansvarlige for, ved å opprette en tabellrelasjon mellom AnsattID-feltene i Ansatte- og Ordrer-tabellen.

AnsattID brukt som primærnøkkel i Ansatte-tabellen og sekundærnøkkelen i Ordre-tabellen.

1. AnsattID vises i begge tabellene – som en primærnøkkel ...

2. ... og som en sekundærnøkkel.

Til toppen av siden

Typer tabellrelasjoner

Det finnes tre typer tabellrelasjoner i Access.

  • Én-til-mange-relasjoner

    La oss bruke et eksempel med en ordresporingsdatabase som inkluderer en kundetabell og en ordretabell. En kunde kan plassere et hvilket som helst antall ordrer. Følgelig kan det være mange ordrer representert i ordretabellen for kunder som er representert i kundetabellen. Relasjonen mellom kundetabellen og ordretabellen er en én-til-mange-relasjon.

    Hvis du vil representere en én-til-mange-relasjon i databaseutformingen, tar du primærnøkkelen på den ene siden i relasjonen og legger den til som ett eller flere tilleggsfelt i tabellen på mange-siden i relasjonen. I dette tilfellet legger du til et nytt felt – ID-feltet fra kundetabellen – i ordretabellen og gir det navnet Kunde-ID. Access kan deretter bruke Kunde-ID-nummeret i ordretabellen til å finne den riktige kunden for hver ordre.

  • Mange-til-mange-relasjoner

    La oss så se på relasjonen mellom en varetabell og en ordretabell. Én enkelt ordre kan inkludere mer enn én vare. På den andre siden kan én enkelt vare vises i mange ordrer. For hver post i ordretabellen kan det derfor være mange poster i varetabellen. I tillegg kan det for hver post i varetabellen være mange poster i ordretabellen. Denne relasjonen kalles en mange-til-mange-relasjon. Merk at for å oppdage eksisterende mange-til-mange-relasjoner mellom tabellene, er det viktig at du tenker over begge sider i relasjonen.

    Når du skal representere en mange-til-mange-relasjon, må du opprette en tredje tabell, ofte kalt foreningstabell, som deler opp mange-til-mange-relasjonen i to én-til-mange-relasjoner. Du setter inn primærnøkkelen fra hver av de to tabellene i den tredje tabellen. Den tredje tabellen registrerer dermed hver forekomst av relasjonen. Ordretabellen og varetabellen har for eksempel en mange-til-mange-relasjon som er definert av to én-til-mange-relasjoner til ordredetaljertabellen. Én ordre kan ha mange varer, og hver vare kan forekomme i mange ordrer.

  • Én-til-én-relasjoner

    I en én-til-én-relasjon kan hver post i den første tabellen bare ha én samsvarende post i den andre tabellen, og hver post i den andre tabellen kan bare ha én samsvarende post i den første tabellen. Denne relasjonen er ikke vanlig, fordi informasjonen som er relatert på denne måten, som regel lagres i den samme tabellen. Én-til-én-relasjoner kan brukes til å dele en tabell med mange felt, til å isolere en del av en tabell av sikkerhetsgrunner, eller til å lagre informasjon som bare brukes av et delsett av hovedtabellen. Når du identifiserer en slik relasjon, må begge tabellene dele et fellesfelt.

Til toppen av siden

Hvorfor opprette tabellrelasjoner?

Du kan opprette tabellrelasjoner eksplisitt ved hjelp av Relasjoner-vinduet eller ved å dra et felt fra Feltliste-ruten. Access bruker tabellrelasjoner til å bestemme hvordan tabeller skal føyes sammen når du skal bruke dem i et databaseobjekt. Det er flere grunner til at du bør opprette tabellrelasjoner før du oppretter andre databaseobjekter, for eksempel skjemaer, spørringer og rapporter.

  • Tabellrelasjoner angir informasjon til spørringsutformingene

    Når du skal arbeide med poster fra flere tabeller, må du ofte opprette en spørring som føyer sammen tabellene. Spørringen fungerer ved å finne samsvar mellom verdiene i primærnøkkelfeltet i den første tabellen og et sekundærnøkkelfelt i den andre tabellen. Hvis du for eksempel vil returnere rader som viser alle ordrene for hver kunde, lager du en spørring som føyer sammen kundetabellen med ordretabellen, basert på KundeID-feltet. I Relasjoner-vinduet kan du manuelt angi feltene som skal føyes sammen. Men hvis du allerede har en relasjon definert mellom tabellene, angir Access standardsammenføyningen, basert på den eksisterende tabellrelasjonen. Hvis du bruker én av spørringsveiviserne, bruker Access i tillegg informasjonen den samler fra tabellrelasjonene som du allerede har definert, til å gi deg oppdaterte valg og forhåndsutfylle egenskapsinnstillinger med aktuelle standardverdier.

  • Tabellrelasjoner angir informasjon til skjema- og rapportutformingene

    Når du utformer et skjema eller en rapport, bruker Access den innsamlede informasjonen fra tabellrelasjonene som du allerede har definert, til å presentere oppdaterte valg og forhåndsutfylle egenskapsinnstillinger med aktuelle standardverdier.

  • Tabellrelasjonene er grunnlaget som du kan gjennomføre referanseintegritet fra, som hjelp til å hindre isolerte poster i databasen. En isolert post er en post med en referanse til en annen post som ikke finnes, for eksempel en ordrepost som refererer til en kundepost som ikke finnes.

    Når du utformer en database, deler du informasjonen inn i tabeller, og hver tabell har en primærnøkkel. Deretter legger du til sekundærnøkler i relaterte tabeller som refererer til disse primærnøklene. Disse parene med primær- og sekundærnøkler utgjør grunnlaget for tabellrelasjonene og spørringer for flere tabeller. Det er viktig at disse referansene til sekundær- og primærnøkler forblir synkroniserte. Referanseintegritet, som avhenger av tabellrelasjoner, bidrar til å sikre at referanser forblir synkroniserte.

Til toppen av siden

Forstå referanseintegritet

Når du utformer en database, deler du databaseinformasjonen inn i flere emnebaserte tabeller for å minimere overflødige data. Deretter angir du en måte som Access kan bruke til å samle dataene, ved å plassere fellesfelt i relaterte tabeller. Når du for eksempel skal representere en én-til-mange-relasjon, tar du primærnøkkelen fra én-tabellen og legger den til som et felt i mange-tabellen. For å føye dataene sammen tar Access verdien i mange-tabellen og slår opp den samsvarende verdien i én-tabellen. På denne måten refererer verdiene i mange-tabellen til de samsvarende verdiene i én-tabellen.

Anta at du har en én-til-mange-relasjon mellom speditører og ordrer, og du vil slette en speditør. Hvis speditøren som du vil slette, har ordrer i ordretabellen, blir disse ordrene isolerte når du sletter speditørposten. Ordrene vil fortsatt inneholde en speditør-ID, men IDen vil ikke lenger være gyldig, fordi posten som den refererer til, ikke finnes.

Formålet med referanseintegritet er å unngå isolerte poster og holde referanser synkroniserte, slik at denne hypotetiske situasjonen aldri oppstår.

Du gjennomfører referanseintegritet ved å aktivere den for en tabellrelasjon (se Gjennomføre referanseintegritet for trinnvise instruksjoner). Når den er angitt, avviser Access operasjoner som bryter med referanseintegritet for en tabellrelasjon. Dette betyr at Access avviser både oppdateringer som endrer målet for en referanse, og slettinger som fjerner målet for en referanse. Det kan hende at du har et legitimt behov for å endre primærnøkkelen for en speditør som har ordrer i ordretabellen. I slike tilfeller er det nødvendig at Access automatisk oppdaterer alle påvirkede rader som en del av én enkelt operasjon. På denne måten sikrer Access at oppdateringen fullføres helt slik at databasen ikke er inkonsekvent, med noen rader oppdatert og andre ikke oppdatert. På grunn av dette har Access alternativet Oppdater relaterte felt gjennomgripende. Når du angir referanseintegritet, velger alternativet Oppdater relaterte felt gjennomgripende og deretter oppdaterer en primærnøkkel, oppdaterer Access automatisk alle felt som refererer til primærnøkkelen.

Det er også mulig at du har et legitimt behov for å slette en rad og alle relaterte poster – for eksempel en speditørpost og alle relaterte ordrer for denne speditøren. På grunn av dette har Access alternativet Slett relaterte poster gjennomgripende. Når du gjennomfører referanseintegritet og velger alternativet Slett relaterte poster gjennomgripende og deretter sletter en post på primærnøkkelsiden av relasjonen, sletter Access automatisk alle poster som refererer til primærnøkkelen.

Til toppen av siden

Vise tabellrelasjoner

Når du skal vise tabellrelasjonene, klikker du Relasjoner i kategorien Databaseverktøy. Relasjoner-vinduet åpnes og viser alle eksisterende relasjoner. Hvis ikke er definert noen tabellrelasjoner og du åpner Relasjoner-vinduet for første gang, ber Access deg om å legge til en tabell eller spørring i vinduet.

Åpne Relasjoner-vinduet.

  1. Klikk Fil og deretter Åpne.

  2. Merk og åpne databasen.

  3. Klikk Relasjoner i Relasjoner-gruppen i kategorien Databaseverktøy.

    Hvis databasen inneholder relasjoner, vises Relasjoner-vinduet. Hvis databasen ikke inneholder relasjoner og du åpner Relasjoner-vinduet for første gang, vises dialogboksen Vis tabell. Klikk Lukk for å lukke dialogboksen.

  4. Klikk Alle relasjoner i Relasjoner-gruppen i kategorien Utforming.

    Dette gjør at alle definerte relasjoner i databasen vises. Legg merke til at skjulte tabeller (tabeller der det er merket av for Skjult i dialogboksen Egenskaper for tabellen) og relasjonene ikke vises med mindre det er merket av for Vis skjulte objekter i dialogboksen Alternativer for navigering.

En tabellrelasjon representeres av en relasjonslinje trukket mellom tabellene i Relasjoner-vinduet. En relasjon som ikke bruker referanseintegritet, vises som en tynn linje mellom fellesfeltene for relasjonen. Når du velger relasjonen ved å klikke relasjonslinjen, blir linjen tykkere for å angi at den er merket. Hvis du bruker referanseintegritet for denne relasjonen, vises linjen som tykkere i hver ende. I tillegg vises tallet 1 over den tykke delen av linjen på én-siden av relasjonen og uendeligsymbolet (8) over den tykke delen av linjen på den andre siden.

Du kan velge mellom kommandoene nedenfor på båndet når Relasjoner-vinduet er aktivt:

I kategorien Utforming i Verktøy-gruppen:

  • Redigere relasjoner    Åpner dialogboksen Redigere relasjoner. Når du merker en relasjonslinje, kan du klikke Redigere relasjoner for å endre tabellrelasjonen. Du kan også dobbeltklikke relasjonslinjen.

  • Slett oppsett    Fjerner alle tabeller og relasjoner fra visningen i Relasjoner-vinduet. Legg merke til at denne kommandoen bare skjuler tabellene og relasjonene. De blir ikke slettet. .

  • Relasjonsrapport    Oppretter en rapport som viser tabellene og relasjonene i databasen. Rapporten viser bare tabellene og relasjonene som ikke er skjult i Relasjoner-vinduet.

I kategorien Utforming i Relasjoner-gruppen:

  • Vis tabell     Åpner dialogboksen Vis tabell slik at du kan velge tabeller og spørringer som skal vises i Relasjoner-vinduet.

  • Skjul tabell     Skjuler den valgte tabellen i Relasjoner-vinduet.

  • Direkte relasjoner     Viser alle relasjoner og relaterte tabeller for den valgte tabellen i Relasjoner-vinduet, hvis de ikke allerede vises.

  • Alle relasjoner     Viser alle relasjoner og relaterte tabeller i databasen i Relasjoner-vinduet. Legg merke til at skjulte tabeller (tabeller der det er merket av for Skjult i dialogboksen Egenskaper for tabellen) med tabellrelasjonene ikke vises med mindre det er merket av for Vis skjulte objekter i dialogboksen Alternativer for navigering.

  • Lukk     Lukker Relasjoner-vinduet. Hvis du har endret oppsettet i Relasjoner-vinduet, blir du spurt om du vil lagre disse endringene.

Til toppen av siden

Opprette en tabellrelasjon

Du kan opprette en tabellrelasjon ved hjelp av Relasjoner-vinduet eller ved å dra et felt til et dataark fra Feltliste-ruten. Når du oppretter en relasjon mellom tabeller, behøver ikke fellesfelt å ha samme navn, selv om de ofte har samme navn. Disse feltene må ha samme datatype. Hvis primærnøkkelfeltet er et Autonummer-felt, kan imidlertid sekundærnøkkelfeltet være et Tall-felt hvis egenskapen Feltstørrelse for begge felt er den samme. Du kan for eksempel koble et Autonummer-felt til et Tall-felt hvis egenskapen Feltstørrelse for begge feltene er satt til Langt heltall. Når begge fellesfeltene er Tall-felt, må de ha samme innstilling for egenskapen Feltstørrelse.

Opprette en tabellrelasjon ved hjelp av Relasjoner-vinduet

  1. Klikk Fil og deretter Åpne.

  2. Merk og åpne databasen.

  3. Klikk Relasjoner under Relasjoner i kategorien Databaseverktøy.

  4. Hvis du ikke har definert noen relasjoner, vises dialogboksen Vis tabell automatisk. Hvis den ikke vises, klikker du Vis tabell i Relasjoner-gruppen i kategorien Utforming.

    Dialogboksen Vis tabell viser alle tabellene og spørringene i databasen. Hvis du vil se bare tabeller, klikker du Tabeller. Hvis du vil se bare spørringer, klikker du Spørringer. Hvis du vil se både tabeller og spørringer, klikker du Begge.

  5. Velg én eller flere tabeller eller spørringer, og klikk deretter Legg til. Når du er ferdig med å legge til tabeller og spørringer i Relasjoner-vinduet, klikker du Lukk.

  6. Dra et felt (vanligvis primærnøkkelen) fra en tabell til fellesfeltet (sekundærnøkkelen) i den andre tabellen. Hvis du vil dra flere felt, holder du nede CTRL og klikker hvert felt, og deretter drar du dem.

    Dialogboksen Redigere relasjoner vises.

  7. Kontroller at feltnavnene som vises, er fellesfeltene for relasjonen. Hvis et feltnavn er feil, klikker du feltnavnet og velger et nytt felt i listen.

    Når du skal gjennomføre referanseintegritet for denne relasjonen, merker du av for Gjennomfør referanseintegritet. Hvis du vil ha mer informasjon om referanseintegritet, kan du se delen Forstå referanseintegritet og Gjennomføre referanseintegritet.

  8. Klikk Opprett.

    Relasjonslinjen trekkes mellom de to tabellene. Hvis du har merket av for Gjennomfør referanseintegritet, vises linjen som tykkere i hver ende. Hvis du har merket av for Gjennomfør referanseintegritet, vises også tallet 1 over den tykke delen av linjen på én side av relasjonen, og uendeligsymbolet (8) vises over den tykke delen av linjen på den andre siden.

    Kommentarer: 

    • Opprette en én-til-én-relasjon     Begge fellesfeltene (vanligvis primærnøkkel- og sekundærnøkkelfeltene) må ha en unik indeks. Dette betyr at egenskapen Indeksert for disse feltene skal settes til Ja (ingen dubletter). Hvis begge feltene har en unik indeks, oppretter Access en én-til-én-relasjon.

    • Opprette en én-til-mange-relasjon     Feltet på én-siden (vanligvis primærnøkkelen) i relasjonen må ha en unik indeks. Dette betyr at egenskapen Indeksert for dette feltet skal settes til Ja (ingen dubletter). Feltet på mange-siden skal ikke ha en unik indeks. Feltet på "mange"-siden kan ha en indeks, men den må tillate dubletter. Dette betyr at egenskapen Indeksert for dette feltet skal settes til Nei eller Ja (dubletter tillatt OK). Når et felt har en unik indeks, og det andre ikke har en unik indeks, oppretter Access en én-til-mange-relasjon.

Opprette en tabellrelasjon ved hjelp av Feltliste-ruten

Du kan legge til et felt i en eksisterende tabell som er åpen i dataarkvisning, ved å dra feltet fra Feltliste-ruten. Feltliste-ruten viser felt som er tilgjengelige i relaterte tabeller, og den viser felt som er tilgjengelige i andre tabeller. Når du drar et felt fra en annen (ikke-relatert) tabell og deretter fullfører oppslagsveiviseren, opprettes en ny én-til-mange-relasjon automatisk mellom tabellen i Feltliste-ruten og tabellen som du har dratt feltet til. Denne relasjonen, som er opprettet av Access, gjennomfører ikke referanseintegritet som standard. Hvis du vil gjennomføre referanseintegritet, må du redigere relasjonen. Se delen Endre en tabellrelasjon for mer informasjon.

Åpne en tabell i dataarkvisning

  1. Klikk Åpne i kategorien Fil.

  2. Velg og åpne databasen i dialogboksen Åpne.

  3. Høyreklikk tabellen der du vil legge til feltet og opprette relasjonen, i navigasjonsruten, og klikk deretter Utformingsvisning.

Åpne Feltliste-ruten

  • Trykk ALT+F8.

    Feltliste-ruten vises.

I Feltliste-ruten vises alle de andre tabellene i databasen, gruppert i kategorier. Når du arbeider med en tabell i dataarkvisning, viser Access felt i én av to kategorier i Feltliste-ruten: Felt som er tilgjengelige i relaterte tabeller og Felt som er tilgjengelige i andre tabeller. Den første kategorien viser alle tabellene som har en relasjon med tabellen du arbeider med. Den andre kategorien viser alle tabellene som tabellen ikke har relasjoner med.

Når du klikker plusstegnet (+) ved siden av et tabellnavn i Feltliste-ruten, ser du en liste over alle feltene som er tilgjengelige i denne tabellen. Hvis du vil legge til et felt i tabellen, drar du det ønskede feltet fra Feltliste-ruten til tabellen i dataarkvisning.

Legge til et felt og opprette en relasjon fra Feltliste-ruten

  1. Klikk plusstegnet(+) ved siden av e tabellnavn for å vise feltlisten i denne tabellen, i Feltliste-ruten under Tilgjengelige felt i andre tabeller .

  2. Dra det ønskede feltet fra Feltliste-ruten til tabellen som er åpen i dataarkvisning.

  3. Når innsettingslinjen vises, slipper du feltet i posisjonen.

    Oppslagsveiviseren starter.

  4. Følg instruksjonene for å fullføre oppslagsveiviseren.

    Feltet vises i tabellen i dataarkvisning.

Når du drar et felt fra en annen (ikke-relatert) tabell og deretter fullfører oppslagsveiviseren, opprettes en ny én-til-mange-relasjon automatisk mellom tabellen i Feltliste og tabellen som du har dratt feltet til. Denne relasjonen, som er opprettet av Access, gjennomfører ikke referanseintegritet som standard. Hvis du vil gjennomføre referanseintegritet, må du redigere relasjonen. Se delen Endre en tabellrelasjon hvis du vil ha mer informasjon.

Til toppen av siden

Slette en tabellrelasjon

Når du skal fjerne en tabellrelasjon, må du slette relasjonslinjen i Relasjoner-vinduet. Plasser markøren nøyaktig slik at den peker på relasjonslinjen, og klikk deretter linjen. Relasjonslinjen vises som tykkere når den er merket. Trykk DEL mens relasjonslinjen er merket. Legg merke til at når du fjerner en relasjon, fjerner du også støtte for referanseintegritet for denne relasjonen, hvis referanseintegritet er aktivert. Access vil derfor ikke lenger automatisk forhindre opprettingen av isolerte poster på mange-siden i en relasjon.

  1. Klikk Relasjoner i Relasjoner-gruppen i kategorien Databaseverktøy.

    Relasjoner-vinduet vises. Hvis du ikke har definert noen relasjoner, og dette er første gang du åpner dokumentfanen Relasjoner, vises dialogboksen Vis tabell. Hvis dialogboksen vises, klikker du Lukk.

  2. Klikk Alle relasjoner i Relasjoner-gruppen i kategorien Utforming.

    Alle tabeller som har relasjoner, vises med relasjonslinjer.

  3. Klikk relasjonslinjen for relasjonen som du vil slette. Relasjonslinjen vises som tykkere når den er merket.

  4. Trykk DEL.

    –eller–

Høyreklikk, og klikk deretter Slett.

  • Access kan vise meldingen Er du sikker på at du vil slette de valgte relasjonene permanent fra databasen? vises. Hvis denne bekreftelsesmeldingen vises, klikker du Ja.

Merknad: Hvis en av tabellene som brukes i tabellrelasjonen, er i bruk, kanskje av en annen person eller prosess eller i et åpent databaseobjekt (for eksempel et skjema), kan du ikke slette relasjonen. Du må først lukke alle åpne objekter som bruker disse tabellene før du kan fjerne relasjonen.

Til toppen av siden

Endre en tabellrelasjon

Du endrer en tabellrelasjon ved å velge den i Relasjoner-vinduet og deretter redigere den. Plasser markøren nøyaktig slik at den peker på relasjonslinjen, og klikk deretter linjen for å merke den. Relasjonslinjen vises som tykkere når den er merket. Dobbeltklikk den merkede relasjonen, eller klikk Redigere relasjoner i Verktøy-gruppen i kategorien Utforming. Dialogboksen Redigere relasjoner vises.

Utføre endringene i dialogboksen Redigere relasjoner

  1. Klikk Relasjoner i Relasjoner-gruppen i kategorien Databaseverktøy.

    Relasjoner-vinduet vises. Hvis du ikke har definert noen relasjoner, og dette er første gang du åpner dokumentfanen Relasjoner, vises dialogboksen Vis tabell. Hvis dialogboksen vises, klikker du Lukk.

  2. Klikk Alle relasjoner i Relasjoner-gruppen i kategorien Utforming.

    Alle tabeller som har relasjoner, vises med relasjonslinjer.

  3. Klikk relasjonslinjen for relasjonen som du vil endre. Relasjonslinjen vises som tykkere når den er merket.

  4. Dobbeltklikk relasjonslinjen.

  5. Utfør endringene, og klikk deretter OK.

    I dialogboksen Redigere relasjoner kan du endre en tabellrelasjon. Du kan endre tabellene eller spørringene på begge sider av relasjonen eller feltene på begge sider. Du kan også angi sammenføyningstypen, eller du kan gjennomføre referanseintegritet og velge et gjennomgripende alternativ. Hvis du vil ha mer informasjon om sammenføyningstypen og hvordan du angir den, kan du se delen Angi sammenføyningstypen. Hvis du vil ha mer informasjon om hvordan du gjennomfører referanseintegritet og velger et gjennomgripende alternativ, se delen Gjennomføre referanseintegritet.

Angi sammenføyningstypen

Når du definerer en tabellrelasjon, overføres informasjon om relasjonen til spørringsutformingene. Hvis du for eksempel definerer en relasjon mellom to tabeller og du deretter oppretter en spørring som bruker disse tabellene, velger Access automatisk samsvarende felt som standard, basert på feltene angitt i relasjonen. Du kan overstyre disse innledende standardverdiene i spørringen, men verdiene som angis av relasjonen, er ofte riktige. Det kan være nyttig og tidsbesparende å angi standarder ved å opprette relasjoner, fordi du ofte finner samsvar mellom og setter sammen data fra flere tabeller i alle databaser, unntatt de minst kompliserte.

En spørring for flere tabeller kombinerer informasjon fra flere tabeller ved å finne samsvar mellom verdiene i fellesfelt. Operasjonen som finner samsvar mellom og kombinerer verdier, kalles en sammenføyning. Anta for eksempel at du vil vise kundeordrer. Du oppretter en spørring som føyer sammen Kunder-tabellen og Ordrer-tabellen, i feltet Kunde-ID. Spørringsresultatet inneholder kundeinformasjon og ordreinformasjon for bare de radene der et samsvar ble funnet.

Én av verdiene som du kan angi for hver relasjon, er sammenføyningstypen. Sammenføyningstypen informerer Access om hvilke poster som skal inkluderes i et spørringsresultat. Anta for eksempel igjen at du har en spørring som føyer sammen Kunder-tabellen og Ordrer-tabellen i fellesfeltene som representerer Kunde-ID. Spørringen bruker standardsammenføyningstypen (kalt en indre kobling), og den returnerer bare Kunde-radene og Ordre-radene der fellesfeltene (også kalt sammenføyde felt) er like.

Anta imidlertid at du vil inkludere alle kunder, også kunder som ikke ennå har lagt inn ordrer. Når du skal gjøre dette, må du endre sammenføyningstypen fra en indre sammenføyning til en venstre ytre sammenføyning. En venstre ytre sammenføyning returnerer alle radene fra tabellen på venstre side i relasjonen og bare dem som samsvarer fra tabellen til høyre. En høyre ytre sammenføyning returnerer alle radene til høyre, og bare dem som samsvarer mot venstre.

Merknad: I dette tilfellet refererer "venstre" og "høyre" til plasseringen av tabellene i dialogboksen Redigere relasjoner, ikke i Relasjoner-vinduet.

Du bør vurdere hvilket resultat du hyppigst ønsker fra en spørring som føyer sammen tabellene i denne relasjonen, og angi sammenføyningstypen deretter.

Angi sammenføyningstypen

  1. Klikk Sammenføyningstype i dialogboksen Redigere relasjoner.

    Dialogboksen Sammenføyningsegenskaper vises.

  2. Klikk ditt valg, og klikk deretter OK.

Den følgende tabellen (Kunder- og Ordrer-tabellene brukes) viser de tre valgene som vises i dialogboksen Sammenføyningsegenskaper, sammenføyningen som brukes, og om alle rader eller samsvarende rader skal inkluderes for hver tabell.

Valg

Relasjonssammenføyning

Venstre tabell

Høyre tabell

1. Ta med bare de radene der de sammenføyde feltene er like i begge tabeller.

Indre sammenføyning

Samsvarende rader

Samsvarende rader

2. Ta med ALLE poster fra Kunder og de postene i Ordrer som har like verdier i de sammenføyde feltene.

Venstre ytre sammenføyning

Alle rader

Samsvarende rader

3. Ta med ALLE poster fra Ordrer og de postene i Kunder som har like verdier i de sammenføyde feltene.

Høyre ytre sammenføyning

Samsvarende rader

Alle rader

Når du velger alternativ 2 eller alternativ 3, vises en pil på relasjonslinjen. Denne pilen peker på siden av relasjonen som bare viser samsvarende rader.

Utføre endringene i dialogboksen Sammenføyningsegenskaper

  1. Klikk Relasjoner i Relasjoner-gruppen i kategorien Databaseverktøy.

    Relasjoner-vinduet vises. Hvis du ikke har definert noen relasjoner, og dette er første gang du åpner dokumentfanen Relasjoner, vises dialogboksen Vis tabell. Hvis dialogboksen vises, klikker du Lukk.

  2. Klikk Alle relasjoner i Relasjoner-gruppen i kategorien Utforming.

    Alle tabeller som har relasjoner, vises med relasjonslinjer.

  3. Klikk relasjonslinjen for relasjonen som du vil endre. Relasjonslinjen vises som tykkere når den er merket.

  4. Dobbeltklikk relasjonslinjen.

    Dialogboksen Redigere relasjoner vises.

  5. Klikk Sammenføyningstype.

  6. Klikk et alternativ i dialogboksen Sammenføyningsegenskaper, og klikk deretter OK.

  7. Utfør eventuelt flere endringer med relasjonen, og klikk deretter OK.

Til toppen av siden

Gjennomføre referanseintegritet

Formålet med å bruke referanseintegritet er å forhindre isolerte poster og holde referanser synkronisert, slik at du unngår poster som refererer til andre poster som ikke lenger eksisterer. Du gjennomfører referanseintegritet ved å aktivere den for en tabellrelasjon. Når den er angitt, avviser Access operasjoner som bryter med referanseintegritet for en tabellrelasjon. Access avviser oppdateringer som endrer målet for en referanse, og slettinger som fjerner målet for en referanse. Hvis du vil la Access overføre referansemessige oppdateringer og slettinger slik at alle relaterte rader endres tilsvarende, se delen Angi gjennomgripende alternativer.

Aktivere eller deaktivere referanseintegritet

  1. Klikk relasjonslinjen for relasjonen som du vil endre, i Relasjoner-vinduet. Relasjonslinjen vises som tykkere når den er merket.

  2. Dobbeltklikk relasjonslinjen.

Dialogboksen Redigere relasjoner vises.

  1. Merk av for Gjennomfør referanseintegritet.

  2. Utfør eventuelt flere endringer med relasjonen, og klikk deretter OK.

Når du har angitt referanseintegritet, gjelder følgende regler:

  • Du kan ikke angi en verdi i sekundærnøkkelfeltet til en relatert tabell hvis denne verdien ikke finnes i primærnøkkelfeltet for primærtabellen. Hvis du gjør dette, opprettes isolerte poster.

  • Du kan ikke slette en post i en primærtabell hvis samsvarende poster eksisterer i en relatert tabell. Du kan for eksempel ikke slette en post i Ansatte-tabellen hvis det ligger ordrer som er tilordnet denne ansatte, i Ordrer-tabellen. Du kan velge å slette en primærpost og alle relaterte tabeller i én operasjon ved å merke av for Slett relaterte poster gjennomgripende.

  • Du kan ikke endre en primærnøkkelverdi i primærtabellen hvis dette forårsaker isolerte poster. Du kan for eksempel ikke endre et ordrenummer i Ordrer-tabellen hvis det finnes linjeelementer tilordnet denne ordren, i Ordredetaljer-tabellen. Du kan velge å oppdatere en primærpost og alle relaterte poster i én operasjon ved å merke av for Oppdater relaterte felt gjennomgripende.

    Kommentarer: Hvis du har problemer med å aktivere referanseintegritet, bør du legge merke til at de følgende betingelsene må være oppfylt for å gjennomføre referanseintegritet:

    • Fellesfeltet fra den primære tabellen må være en primærnøkkel eller ha en unik indeks.

    • Fellesfeltene må ha samme datatype. Det eneste unntaket er at et Autonummer-felt kan være relatert til et Tall-felt som har innstillingen Langt heltall for egenskapen Feltstørrelse.

    • Begge tabellene må finnes i samme Access-database. Referanseintegritet kan ikke gjennomføres med koblede tabeller. Hvis kildetabellene er i Access-format, kan du imidlertid åpne databasen som de er lagret i, og aktivere referanseintegritet i denne databasen.

Angi gjennomgripende alternativer

Det kan oppstå en situasjon der du har behov for å endre verdien på én-siden i en relasjon. I slike tilfeller må Access automatisk oppdatere alle rader som påvirkes, som en del av én enkelt operasjon. På denne måten fullføres oppdateringen helt slik at databasen ikke er inkonsekvent – med noen rader oppdatert og andre ikke oppdatert. Du kan unngå dette problemet i Access ved hjelp av alternativet Oppdater relaterte felt gjennomgripende. Når du angir referanseintegritet, velger alternativet Oppdater relaterte felt gjennomgripende og deretter oppdaterer en primærnøkkel, oppdaterer Access automatisk alle felt som refererer til primærnøkkelen.

Det kan også hende at du må slette en rad og alle relaterte poster – for eksempel en speditørpost og alle relaterte ordrer for denne speditøren. På grunn av dette har Access alternativet Slett relaterte poster gjennomgripende. Når du angir referanseintegritet og velger alternativet Slett relaterte poster gjennomgripende, sletter Access automatisk alle poster som refererer til primærnøkkelen når du sletter posten som inneholder primærnøkkelen.

Aktivere eller deaktivere gjennomgripende oppdatering og/eller gjennomgripende sletting

  1. Klikk relasjonslinjen for relasjonen som du vil endre, i Relasjoner-vinduet. Relasjonslinjen vises som tykkere når den er merket.

  2. Dobbeltklikk relasjonslinjen.

Dialogboksen Redigere relasjoner vises.

  1. Merk av for Gjennomfør referanseintegritet.

  2. Merk av for Oppdater relaterte felt gjennomgripende eller Slett relaterte poster gjennomgripende, eller merk av for begge.

  3. Utfør eventuelt flere endringer med relasjonen, og klikk deretter OK.

Merknad: Hvis primærnøkkelen er et Autonummer-felt, har det ingen virkning hvis du merker av for Oppdater relaterte felt gjennomgripende, ettersom du ikke kan endre verdien i et Autonummer-felt.

Til toppen av siden

Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×