Behandle data med spørringer

Ikke-relaterte datakilder for spørring

Nettleseren støtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

Noen ganger må du opprette en spørring for å hente informasjon fra datakilder som ikke har direkte relasjon (én-til-én eller én-til-mange).

Bruke mellomliggende tabeller for å koble til datakilder i spørringer

Når du kjører en spørring, bruker Access relasjonene du har opprettet mellom tabeller, og utleder og oppretter koblinger mellom andre datakilder. Hvis det ikke finnes relasjoner som du trenger for en spørring, kan du koble til tabellene som en del av spørringen.

Anta at du ønsker å se hvor mange ordrer du har mottatt for produkter fra ulike leverandører. Tabellen for din leverandør er ikke koblet til tabellen Kjøpsordredetaljer som inneholder produkt-ID-er og informasjon om antall. Tabellen Kjøpsordrer er imidlertid koblet til tabellen Kjøpsordredetaljer.

Flere tabelldatakilder, med og uten forhåndsdefinerte relasjoner.

Tips!: Hvis du kanskje trenger denne relasjonen utenfor spørringen du oppretter, er det best å opprette en mellomliggende relasjon for senere bruk. Hvis du vil vite mer, se Opprette mange-til-mange-relasjoner.

Hvis du ikke vil opprette den mellomliggende tabellen i databasen, kan du bruke tabellen Kjøpsordrer som mellomliggende tabell i spørringen. Legg til tabellen Leverandører til venstre for tabellen Kjøpsordrer og opprett en tilkobling .

Bruke én tabell for indirekte å koble to andre tabeller

Tabellen Kjøpsordrer knytter sammen to uensartede tabeller, Leverandører og Kjøpsordredetaljer. Koble tabellene ved hjelp av feltene (som ID i tabellen Leverandør) og leverandør-ID i tabellen Kjøpsordrer) som oppfyller følgende kriterier:

  • De to feltene har samsvarende eller kompatible datatyper. Du kan for eksempel ikke koble et tekstfelt til et tallfelt.

  • Feltene identifiserer samsvarende, unike poster i hver tabell. Du ønsker for eksempel ikke å koble de to siste navnefeltene, fordi etternavn ikke alltid er unike.

  • Feltene sikrer at de riktige postene opprettes. Hvis du for eksempel kobler leverandør-ID til kjøps-ID, kan du få noen treff hvis ID-ene ligner. Resultatene gir imidlertid ingen mening fordi leverandør-ID ikke har noe å gjøre med kjøps-ID. Et bedre valg er å koble ID-en fra tabellen Leverandør til leverandør-ID i tabellen Kjøpsordrer – postene som returneres gir mening fordi begge feltene identifiserer leverandøren.

Trinn

Enten du har en mellomliggende tabell i databasen eller bare har tenkt å bruke én tabell i spørringen, følger du disse trinnene:

  1. Legg til den mellomliggende tabellen i spørringen mellom de to utilkoblede tabellene.

  2. Opprett eventuelle nødvendige tilkoblinger med den mellomliggende tabellen.

    Tilkoblinger kan bruke alle egnede typer sammenføyninger, men må være koblet via felt som oppfyller vilkårene som er beskrevet tidligere i denne modulen.

    Oppretting av nødvendig tilkoblinger med mellomliggende tabell
  3. Fullfør spørringen.

    Følg de vanlige trinnene for å opprette en spørring: Legg til utdatafelt og vilkår, og kjør eller lagre spørringen. For å lære mer kan du se Opprette grunnleggende spørringer.

    Merknad: Du trenger ikke å inkludere den mellomliggende tabellen i resultatene. Dette må bare være en del av datakildene for spørringen slik at Access kan koble til dataene.

Vil du vite mer?

Opprette enkle spørringer

Opprette spørringer ved å sammenføye mer enn én datakilde

Opprette spørringer med ytre sammenføyninger

Excel-opplæring

Outlook-opplæring

Noen ganger trenger du å bruke spørringstabeller eller andre datakilder som ikke er relaterte, og som ikke deler en sammenføyning. Du har to alternativer for å gjøre det.

Du kan bruke en mellomliggende tabell, det vil si en tabell som deler sammenføyninger med datakilder du vil bruke.

Eller så kan du legge til en sammenføyning.

La oss begynne med den mellomliggende tabellen. I denne eksempeldatabasen må ansatte angi en status for hver ordre, men de glemmer det noen ganger.

Du vil da ha svar på dette spørsmålet: «Hvilke ordrer har ikke en status, og hvilke medarbeidere glemte å angi dem?»

Det kan se ut til at vi må bruke tre tabeller i spørringen: Ansatte, ordrer og status for ordredetaljer, fordi de tilsvarer datapunktene i våre spørsmål: «Hvilke ordrer har ikke en status, og hvilke medarbeidere glemte å angi dem?»

Legg til tabellene i spørringen, så ser du at disse to tabellene ikke er sammenføyd, men det er greit, ikke sant? Vi kan legge til en sammenføyning

Så vi sammenføyer ID-feltene, kjører spørringen, og ... ingenting.

Vi må nå gjøre det vi skulle ha gjort i utgangspunktet, og se på relasjonene mellom tabellene.

Når vi gjør dette, ser vi det som ser ut som en kjede av relasjoner: Ansatte-til-ordrer, ordrer-til-ordredetaljer og ordredetaljer-til-ordredetaljerstatus.

Ordrer og ordredetaljerstatus er ikke relaterte, men ordredetaljer er relatert til begge. Dette gjør Ordredetaljer til vår mellomliggende tabell.

Dette fører til en regel: Så lenge de mellomliggende tabellene er en del av datakilden, kan du gjøre spørringer i disse ikke-relaterte tabellene og få et gyldig resultat.

Du trenger ikke å inkludere den mellomliggende tabellen i resultatene, men den må være en del av datakilden til spørringen din.

Vi legger til Ordredetaljer i spørringen, ... holder feltene likt, ... og kjører spørringen.

Vi filtrerer for tomme verdier,... og her er svaret vårt.

Nå legger vi en sammenføyning til en spørring. Hvis du vil gjøre dette, er det flere regler å huske.

For det første, at tabeller eller spørringer som du vil sammenføye, må ha felt med samsvarende eller kompatible datatyper.

For eksempel er datatypene Tall og Valuta kompatible, mens Tall og Tekst ikke er det.

For det andre, at sammenføyningen du oppretter, bare befinner seg i spørringen. Du oppretter ikke en tabellrelasjon her.

Og for det tredje, at resultatene bør gi mening. Hvis sammenføyningen for eksempel returnerer data på ordrer og firmabiler, bør du sannsynligvis begynne på nytt.

La oss si at vi trenger å vite hvilke kunder som har bestilt hvilke produkter.

Vi legger til Kunder, Ordrer og Ordredetaljer i en ny spørring. Nå kan vi legge til sammenføyningen. Vi drar kunde-ID fra Kunder-tabellen til det tilsvarende feltet i Ordre-tabellen.

Her er sammenføyningslinjen, og nå har vi en annen regel: Access plasserer feltet du drar, på venstre side av den nye sammenføyningen. Hvis det ikke er dette du ønsker, velger du sammenføyningslinjen, trykker DELETE og starter på nytt.

Nå som vi har tatt oss av dette, kan vi bygge spørringen. Vi legger til fornavn og etternavn fra Kunder, deretter Produkt-ID,... Ordre-ID,... Antall,... og Enhetspris fra Ordredetaljer.

Kjør spørringen, og her får vi dataene våre.

Nå vet du to teknikker du kan bruke til å spørre ikke-relaterte datakilder: bruke en mellomliggende tabell eller legge til en sammenføyning, og du får frem svarene på dine dataspørsmål.

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.

×