Opprette en spørring basert på flere tabeller

Noen ganger er prosessen med å bygge og bruke spørringer i Access enkel, ved at du velger felt fra en tabell, kanskje angir noen vilkår og deretter viser resultatene. Men hva om dataene du trenger, er fordelt i mer enn én tabell, noe som ofte er tilfellet? Heldigvis kan du bygge en spørring som kombinerer informasjon fra flere kilder. Dette emnet beskriver noen scenarioer der du kan hente data fra mer enn én tabell, og forklarer hvordan du gjør det.

Hva vil du gjøre?

Bruke data fra en tilknyttet tabell til å utvide informasjonen i spørringen

Koble sammen dataene i to tabeller ved hjelp av relasjonene med en tredje tabell

Vise alle postene fra to like tabeller

Bruke data fra en tilknyttet tabell til å utvide informasjonen i spørringen

Du kan ha tilfeller der en spørring som er basert på én tabell, gir deg informasjonen du trenger, men der du vil få klarere og nyttigere spørringsresultater ved å hente data fra en annen tabell. La oss for eksempel anta at du har en liste over ansatt-ID-er som vises i spørringsresultatene. Du tenker at det vil være nyttigere å vise ansattnavn i resultatene, men at disse navnene er plassert i en annen tabell. Hvis du vil at ansattnavn skal vises i spørringsresultatene, må du inkludere begge tabellene i spørringen.

Bruk spørringsveiviseren til å bygge en spørring fra en primær tabell og en tilknyttet tabell

  1. Sikre at tabellene har en definert relasjon i relasjonsvindu.

    Hvordan?

    1. Klikk på Relasjoner i Vis/skjul-gruppen på Databaseverktøy-fanen.

    2. Klikk på Alle relasjoner i Relasjoner-gruppen på Utforming-fanen.

    3. Identifiser tabellene som skal ha en definert relasjon.

      • Hvis tabellene er synlige i Relasjoner-vinduet, kontrollerer du at en relasjon allerede er definert.

        En relasjon vises som en linje som kobler de to tabellene i ett felles felt. Du kan dobbeltklikke på en relasjonslinje for å se hvilke felt i tabellene som er tilknyttet av relasjonen.

      • Hvis tabellene ikke er synlige i Relasjoner-vinduet, må du legge dem til.

        Klikk på Tabellnavn i Vis/skjul-gruppen på Utforming-fanen.

        Dobbeltklikk på hver av tabellene du vil vise, og klikk deretter på Lukk.

    4. Hvis du ikke finner en relasjon mellom de to tabellene, kan du opprette relasjonen ved å dra et felt fra én av tabellene til et felt i den andre tabellen. Feltene der du oppretter relasjonen mellom tabellene, må ha identiske datatyper.

      Merknad: Du kan opprette en relasjon mellom et felt som er fra Autonummer-datatype og et felt som er fra datatypen Tall, hvis dette feltet har en lengre feltstørrelse for heltall. Dette vil ofte være tilfellet når du oppretter en én-til-mange-relasjon.

      Dialogboksen Rediger relasjoner vises.

    5. Klikk på Opprett for å opprette relasjonen.

      Hvis du vil ha mer informasjon om alternativene du har når du oppretter en relasjon, kan du se artikkelen Opprette, redigere eller slette en relasjon.

    6. Lukk Relasjoner-vinduet.

  2. Klikk på Spørringsveiviser i Spørringer-gruppen på Opprett-fanen. Legg merke til at hvis du bruker Access 2007, må du klikke på Spørringsveiviser under AnnetOpprett-fanen

  3. Klikk på veiviseren for enkel spørring i dialogboksen Ny spørring, og klikk deretter på OK.

  4. Klikk på tabellen som inneholder grunnleggende informasjon du vil inkludere i spørringen, i kombinasjonsboksen Tabeller/spørringer

  5. Klikk på det første feltet du vil inkludere i spørringen, i Tilgjengelige felt-listen, og klikk deretter på den høyre piltasten for å flytte dette feltet til Valgte felt-listen. Gjør det samme med hvert enkelt felt fra tabellen som du vil inkludere i spørringen. Dette kan være felt du vil returnere i spørringsutdataene eller bruke til å begrense antallet rader i utdataene ved å bruke vilkår.

  6. Klikk på tabellen som inneholder de relaterte dataene du vil bruke til å utvide spørringsresultatene, i kombinasjonsboksen Tabeller/spørringer.

  7. Legg til feltene du vil bruke til å utvide spørringsresultatene, i Valgte felt-listen, og klikk deretter på Neste.

  8. Klikk på enten Detalj eller Oppsummering under Vil du ha en detalj- eller oppsummeringsspørring?

    Hvis du ikke vil at spørringen skal utføre en mengdefunksjon (Summer, Gjennomsnitt, Min, Maks, Antall, STDAV, eller Var), velger du en detaljspørring. Hvis du vil at spørringen skal utføre en mengdefunksjon, velger du en oppsummeringsspørring. Når du har foretatt valget, klikker du på Neste.

  9. Klikk på Fullfør for å vise resultatene.

Et eksempel som bruker eksempeldatabasen Gastronor

I eksemplet nedenfor kan du bruke spørringsveiviseren til å bygge en spørring som viser en liste over ordrer, fraktkostnaden for hver ordre, og navnet på den ansatte som behandlet hver ordre.

Merknad: Dette eksemplet endrer eksempeldatabasen Gastronor. Det kan være lurt å ta en sikkerhetskopi av eksempeldatabasen Gastronor og deretter følge dette eksemplet ved å bruke sikkerhetskopien.

Bruke spørringsveiviseren til å bygge spørringen

  1. Åpne eksempeldatabasen Gastronor. Lukk påloggingsskjemaet.

  2. Klikk på Spørringsveiviser i Spørringer-gruppen på Opprett-fanen. Legg merke til at hvis du bruker Access 2007, må du klikke på Spørringsveiviser under AnnetOpprett-fanen

  3. Klikk på veiviseren for enkel spørring i dialogboksen Ny spørring, og klikk deretter på OK.

  4. I kombinasjonsboksen Tabeller/spørringer klikker du på Tabell: Ordrer.

  5. Dobbeltklikk på OrderID i Tilgjengelige felt-listen for å flytte dette feltet til Valgte felt-listen. Dobbeltklikk på Fraktkostnader for å flytte dette feltet til Valgte felt-listen.

  6. I kombinasjonsboksen Tabeller/spørringer klikker du på Tabell: Ansatte.

  7. Dobbeltklikk på Fornavn i Tilgjengelige felt-listen for å flytte dette feltet til Valgte felt-listen. Dobbeltklikk på Etternavn for å flytte dette feltet til Valgte felt-listen. Klikk på Neste.

  8. Du må bruke en detaljspørring fordi du oppretter en liste over alle ordrene. Hvis du oppsummerer fraktkostnader sortert etter ansatte eller utfører en annen mengdefunksjon, bruker du en oppsummeringsspørring. Klikk på Detaljspørring (viser hvert felt i hver post) , og klikk deretter på Neste.

  9. Klikk på Fullfør for å vise resultatene.

Spørringen returnerer en liste over ordrer med fraktkostnader og for- og etternavnet på de ansatte som behandlet ordrene.

Til toppen av siden

Koble sammen dataene i to tabeller ved hjelp av relasjonene med en tredje tabell

Ofte er data i to tabeller relatert til hverandre gjennom en tredje tabell. Dette er vanligvis tilfelle fordi dataene mellom de første to tabellene er relatert i en mange-til-mange-relasjoner. Det er ofte bra å utforme databasen slik at den deler opp en mange-til-mange-relasjon mellom to tabeller, i to én-til-mange-relasjoner som involverer tre tabeller. Du gjør dette ved å opprette en tredje tabell, kalt en forbindelsestabell eller en relasjonstabell, som har en primærnøkkel og en sekundærnøkkel for hver av de andre tabellene. En én-til-mange-relasjon opprettes deretter mellom hver sekundærnøkkel i forbindelsestabellen og den tilsvarende primærnøkkelen i én av de andre tabellene. I slike tilfeller må du inkludere alle tre tabellene i spørringen, selv om du bare vil hente data fra to.

Bygge en utvalgsspørring ved bruk av tabeller med en mange-til-mange-relasjon

  1. Klikk på Spørringsutforming i Spørringer-gruppen på Opprett-fanen. Hvis du bruker Access 2007, må du klikke på Spørringsutforming i Andre-gruppen på Opprett-fanen.

    Dialogboksen Vis tabell åpnes.

  2. Dobbeltklikk på de to tabellene i dialogboksen Vis tabell som inneholder dataene du vil inkludere i spørringen og forbindelsestabellen som kobler dem, og klikk deretter på Lukk.

    Alle tre tabellene vises i arbeidsområdet for spørringsutformingen og er koblet sammen i de aktuelle feltene.

  3. Dobbeltklikk på hvert felt du vil bruke i spørringsresultatene. Hvert felt vises deretter i spørringen utformingsrutenett.

  4. Bruk Vilkår-raden i utformingsrutenettet for spørringen til å angi feltvilkår. Hvis du vil bruke et feltvilkår uten å vise feltet i spørringsresultatene, fjerner du merket i Vis-raden for feltet.

  5. Hvis du vil sortere resultatene basert på verdiene i et felt, klikker du på Stigende eller Synkende (avhengig av i hvilken retning du vil sortere postene) i Sorter-raden for feltet i utformingsrutenettet for spørringen.

  6. Klikk på Kjør i Resultater-gruppen på Utforming-fanen.

    Access viser resultatet av spørringen i dataarkvisning.

Et eksempel som bruker eksempeldatabasen Gastronor

Merknad: Dette eksemplet endrer eksempeldatabasen Gastronor. Det kan være lurt å ta en sikkerhetskopi av eksempeldatabasen Gastronor og deretter følge dette eksemplet ved å bruke sikkerhetskopien.

La oss si at du har en ny mulighet: en leverandør i Rio de Janeiro har funnet nettstedet ditt, og ønsker kanskje å gjøre forretninger med deg. Leverandøren driver imidlertid bare virksomhet i Rio og São Paulo. De leverer alle matkategoriene du formidler. De er en ganske stor virksomhet og ønsker at du forsikrer dem om at du kan gi dem tilgang til nok potensielle salg til at det er verdt å inngå et samarbeid – minst R$ 20 000,00 per år i salg (omtrent 75 000 kroner). Kan du gi dem tilgang til det markedet de ønsker?

Dataene du trenger for å svare på dette spørsmålet, finnes på to steder: i en Kunder-tabell og en Ordredetaljer-tabell. Disse tabellene er koblet sammen med en Ordrer-tabell. Relasjonene mellom tabellene er allerede definert. Hver ordre kan ha bare én kunde i Ordrer-tabellen, relatert til Kunder-tabellen med feltet Kunde-ID. Hver post i Ordredetaljer-tabellen er relatert til bare én ordre i Ordrer-tabellen, med Ordre-ID-feltet. En kunde kan derfor ha mange ordrer, som hver har mange ordredetaljer.

I dette eksemplet bygger du en krysstabellspørring som viser totalt salg per år i byene Rio de Janeiro og São Paulo.

Bygge spørringen i utformingsvisning

  1. Åpne Gastronor-databasen. Lukk påloggingsskjemaet.

  2. Klikk på Spørringsutforming i Spørringer-gruppen på Opprett-fanen. Hvis du bruker Access 2007, må du klikke på Spørringsutforming i Andre-gruppen på Opprett-fanen.

    Dialogboksen Vis tabell åpnes.

  3. Dobbeltklikk på Kunder, Ordrer og Ordredetaljer i dialogboksen Vis tabell, og klikk deretter på Lukk.

    Alle tre tabellene vises i arbeidsområdet for spørringsutformingen.

  4. Dobbeltklikk på Poststed-feltet i Kunder-tabellen for å legge det til i utformingsrutenettet for spørringen.

  5. Skriv inn ("Rio de Janeiro","São Paulo") i Vilkår-raden i Poststed-kolonnen i utformingsrutenettet for spørringen. Dette gjør at bare de postene der kunden er i en av disse to byene, inkluderes i spørringen.

  6. Dobbeltklikk feltene SendtDato og Enhetspris i Ordredetaljer-tabellen.

    Feltene legges til i utformingsrutenettet for spørringen.

  7. Velg Felt-raden i SendtDato-kolonnen i utformingsrutenettet for spørringen. Erstatt [SendtDato] med År: Format([SendtDato],"åååå"). Dette oppretter et felt-alias, År, som lar deg bruke bare år-delen av verdien i SendtDato-feltet.

  8. Velg Feltraden i Enhetspris-kolonnen i utformingsrutenettet for spørringen. Erstatt [Enhetspris] med Salg: [Ordredetaljer].[ Enhetspris]*[Antall]-[Ordredetaljer].[Enhetspris]*[Antall]*[Rabatt]. Dette oppretter en felt-alias, Salg, som beregner salget for hver post.

  9. Klikk på Krysstabell i Spørringstype-gruppen på Utforming-fanen.

    To nye rader, Total og Krysstabell, vises i utformingsrutenettet for spørringen.

  10. Klikk på Krysstabell-raden i Poststed-kolonnen i utformingsrutenettet for spørringen, og klikk deretter på Radoverskrift.

    Poststed-verdiene vises nå som radoverskrifter (det vil si at spørringen returnerer én rad for hvert poststed).

  11. Klikk på Krysstabell-raden i År-kolonnen, og klikk deretter på Kolonneoverskrift.

    År-verdiene vises nå som kolonneoverskrifter (det vil si at spørringen returnerer én kolonne for hvert år).

  12. Klikk på Krysstabell-raden i Salg-kolonnen, og klikk deretter på Verdi.

    Salg-verdiene vises nå i skjæringspunktet mellom rader og kolonner (det vil si at spørringen returnerer én salgsverdi for hver kombinasjon av poststed og år).

  13. Klikk på Totaler-raden i Salg-kolonnen, og klikk deretter på Summer.

    Dette fører til at spørringen summerer verdiene i denne kolonnen.

    Du kan la Totaler-raden for de to andre kolonnene fortsette å ha standardverdien Grupper etter, siden du ønsker å se hver verdi for disse kolonnene, ikke samlede verdier.

  14. Klikk på Kjør i Resultater-gruppen på Utforming-fanen.

Du har nå en spørring som returnerer totalt salg etter år i Rio de Janeiro og São Paulo.

Til toppen av siden

Vise alle postene fra to like tabeller

Noen ganger ønsker du å kombinere data fra to tabeller som er identiske i struktur, men der én av tabellene er plassert i en annen database. Tenk deg følgende.

Anta at du er en analytiker som arbeider med studentdata. Du har igangsatt et datadelingsintiativ mellom din skole og en annen skole, slik at begge skoler kan utvide fagkretsen. For noen av spørsmålene du ønsker å utforske, ville det vært bedre å se alle postene fra begge skolene samlet, i stedet for hver skoles poster separat.

Du kan importere data fra den andre skolen til nye tabeller i databasen, men eventuelle endringer i den andre skolens data vil da ikke gjenspeiles ikke i databasen din. En bedre løsning er å koble til den andre skolens tabeller, og deretter opprette spørringer som kombinerer dataene når du kjører dem. Du vil kunne analysere dataene som ett enkelt sett, i stedet for å utføre to analyser og prøve å tolke dem som om de var én analyse.

For å vise alle postene fra to tabeller med identisk struktur, bruker du en unionsspørring.

Unionsspørringer kan ikke vises i utformingsvisning. Du bygger dem ved hjelp av SQL-kommandoer som du skriver inn en SQL-visning-objektfane.

Opprette en unionsspørring ved bruk av to tabeller

  1. Klikk på Spørringsutforming i Spørringer-gruppen på Opprett-fanen. Hvis du bruker Access 2007, må du klikke på Spørringsutforming i Andre-gruppen på Opprett-fanen.

    Et nytt utformingsrutenett for spørringen åpnes, og dialogboksen Vis tabell vises.

  2. Klikk på Lukk i dialogboksen Vis tabell.

  3. Klikk på Union i Spørringstype-gruppen på Utforming-fanen.

    Spørringen bytter fra utformingsvisning til SQL-visning. Nå er objektfanen SQL-visning tom.

  4. Skriv inn SELECT i SQL-visning, etterfulgt av en liste over feltene fra den første tabellen du vil bruke i spørringen. Feltnavn bør være omsluttet av hakeparenteser og atskilt med komma. Trykk på ENTER når du er ferdig med å skrive feltnavnene. Markøren flyttes ned én linje i SQL-visning.

  5. Skriv inn FROM, etterfulgt av navnet på den første tabellen du vil bruke i spørringen. Trykk på ENTER.

  6. Hvis du vil angi vilkår for et felt fra den første tabellen, skriver du inn WHERE, etterfulgt av feltnavnet, en sammenligningsoperator (vanligvis et likhetstegn (=)) og vilkåret. Du kan legge til flere vilkår på slutten av WHERE-setningen ved å bruke nøkkelordet AND og samme syntaksen som brukes for det første vilkåret, for eksempel WHERE [Klassenivå]="100" AND [Kredittimer]>2. Når du er ferdig med å angi vilkåret, trykker du på ENTER.

  7. Skriv inn UNION, og trykk deretter på ENTER.

  8. Skriv inn SELECT, etterfulgt av en liste over feltene fra den andre tabellen du vil bruke i spørringen. Du bør inkludere de samme feltene fra denne tabellen som du inkluderte fra den første tabellen, og i samme rekkefølge. Feltnavn bør være omsluttet av hakeparenteser og atskilt med komma. Trykk på ENTER når du er ferdig med å skrive feltnavnene.

  9. Skriv inn FROM, etterfulgt av navnet på den andre tabellen du vil bruke i spørringen. Trykk på ENTER.

  10. Du kan eventuelt legge til en WHERE-setning, som beskrevet i trinn 6 i denne fremgangsmåten.

  11. Skriv inn et semikolon (;) for å angi slutten på spørringen.

  12. Klikk på Kjør i Resultater-gruppen på Utforming-fanen.

    Resultatene vises i dataarkvisning.

Til toppen av siden

Se også

Føye sammen tabeller og spørringer

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.

×