Administrer data med forespørgsler

Opret forespørgsler med mere end én datakilde

Din browser understøtter ikke video. Installer Microsoft Silverlight, Adobe Flash Player eller Internet Explorer 9.

For at få de svar, du gerne vil have, opretter du ofte forespørgsler, der indsamler oplysninger fra mere end én tabel eller fra en kombination af tabeller og forespørgsler.

Introduktion til joinforbindelser

Nogle gange skal du bruge data fra mere end én kilde (tabel eller forespørgsel) til at besvare spørgsmål. Du vil måske gerne se, hvor mange kunder i et bestemt område, der bestilte et bestemt produkt.

Når du tilføjer mere end én datakilde, anvender Access de eksisterende relationer, der er defineret mellem dem eller opretter joinforbindelser mellem dem til forespørgslesformål. En joinforbindelse er blot en relationstype mellem datakilder i en forespørgsel.

Bemærk: Joinforbindelser er midlertidige og er kun knyttet til forespørgslen. Hvis du ofte opretter den samme joinforbindelse mellem tabeller, kan du eventuelt oprette en permanent relation mellem dem.

Indre joinforbindelser

De fleste joinforbindelser er indre joinforbindelser. Dette er i modsætning til ydre joinforbindelser, der er nævnt i Opret forespørgsler med ydre joinforbindelser.

En indre joinforbindelse returnerer kun data fra én kilde, når den finder tilsvarende poster i den anden. Hvis du for eksempel forespørger efter oplysninger om produkter og ordrer, kan du kun se data for produkter, der har en matchende ordre.

Skærmbillede af produkt- og ordrertabeller

Selv-joinforbindelser

En selv-join sammenkæder to kopier af den samme tabel eller forespørgsel. Brug den til at kombinere poster fra den samme tabel, når der er tilsvarende værdier i de sammenkædede felter.

Lad os antage, at du har tabellen Medarbejdere, der viser alle medarbejdere i organisationen, herunder lederne. Tabellen indeholder feltet Rapporterer til, der indeholder id for medarbejderens chef.

Id

Efternavn

Fornavn

Rapporterer til

1

Freehafer

Nancy

5

2

Cencini

Andrew

3

Kotas

Jan

10

4

Sergienko

Mariya

5

5

Thorpe

Steven

2

6

Neipper

Michael

10

7

Zare

Robert

10

8

Guissani

Laura

10

9

Hellung-Larsen

Anne

5

10

Lund

Mathilde

3

For at finde navnet på medarbejderens leder, skal du finde medarbejderen i tabellen. Find så lederens id i feltet Rapporterer til, og find så lederens id i det samme medarbejderfelt. Eksempelvis rapporterer Nancy til lederen med 5 som id – det er Steven Thorpe.

For at automatisere denne opgave, skal du tilføje tabellen Medarbejder til din forespørgsel to gange og oprette en selv-join. Når du tilføjer datakilden endnu en gang, føjer Access _1 til navnet på forekomst nummer 2. Hvis du for eksempel tilføjer tabellen Medarbejdere to gange, kaldes den anden forekomst Medarbejdere_1. For at få vist ledernavnet for hver medarbejder, opretter du en joinforbindelse mellem feltet Rapporterer til i tabellen Medarbejdere, og feltet Medarbejder-id i tabellen Medarbejdere_1.

1. Tilføj datakilder
  • Vælg Opret > Forespørgselsdesign.

Tilføj alle de tabeller og forespørgsler du skal bruge som datakilder. Tag dig ikke af, hvis du glemmer en, du har stadig mulighed for at tilføje flere datakilder senere.)

Datakilderne kan indeholde tabeller, hvorfra du vil have vist oplysninger (f.eks. en produkttabel), og tabeller, der indeholder oplysninger, du skal bruge til kriterier.

Husk, at eksisterende, gemte forespørgsler også er tilgængelige som datakilder. F.eks, hvis du allerede har oprettet en forespørgsel for at finde alle ordrer for en given måned, skal du bruge forespørgslen og produkttabellen til at vise alle produkter, der er solgt i en given måned.

2. Sammenkæd relaterede datakilder
  • For at tilføje en joinforbindelse selv, skal du trække ét felt fra en datakilde til et tilsvarende felt i en anden datakilde. Som standard opretter Access en indre joinforbindelse.

Access opretter en indre joinforbindelse for de fleste relationer. Og hvis du har angivet, at refererende integritet bør påtvinges, er det med. Men i nogle tilfælde opretter Access ikke den joinforbindelse, du skal bruge. Hvis du for eksempel føjer eksisterende forespørgsler til den nye forespørgsel og ikke har oprettet relationer, opretter Access ikke automatisk joinforbindelser.

3. Fuldfør forespørgslen
  • Følg de sædvanlige trin for at oprette en forespørgsel: tilføj outputfelter, tilføj kriterier og kør eller gem din forespørgsel. Hvis du vil se hvordan, skal du se Opret grundlæggende forespørgsler.

Vil du have mere?

Kursus i Excel

Kursus i Outlook

I denne video lærer du, hvordan du opretter en udvælgelsesforespørgsel med flere datakilder.

Du lærer også at bruge "joinforbindelser" til at oprette et match mellem flere kilder.

Du lærer også om de forskellige typer tilgængelige joinforbindelser.

At oprette en udvælgelsesforespørgsel, der bruger mere end én datakilde, følger de samme grundlæggende ting som at oprette en med en enkelt datakilde.

Du åbner Forespørgselsdesigner, vælger tabeller eller forespørgsler og tilføjer felter.

Men der er en forskel.

Når du opretter en forespørgsel om data fra flere kilder, skal du oprette et match mellem hver kilde.

Hvis du gerne vil vide, hvilke produkter sættet af ordrer indeholder, skal du f.eks. matche ordrerne med deres produkter.

For at oprette disse match skal du bruge det, der kaldes en "joinforbindelse".

En JOINFORBINDELSE sammenligner data i to fælles felter: et fra hver datakilde.

Joinforbindelsen styrer, hvordan dataene i hvert felt matches.

Den mest almindelige type joinforbindelse returnerer f.eks. kun data fra ét felt, når den finder en værdi, der matcher, i det andet, og det er sådan, du finder antallet af produkter i hver ordre.

En anden type joinforbindelse returnerer ALLE data fra ét felt, men kun data, der MATCHER, fra andre.

Og i dette eksempel fortæller forespørgslen dig, hvilke ordrer der ikke indeholder et bestemt produkt.

Nu, hvor du har oprettet dine tabelrelationer, har Access også oprettet en JOINFORBINDELSE for hver relation.

Access bruger dine relaltioner som MØNSTRE for joinforbindelser, så det meste af tiden vil dine forbundne felter være dine primære og fremmede nøgler.

Men det behøver de ikke at være. Du kan også forbinde ikke-relaterede kilder.

Hvis du har to relaterede datakilder, og du føjer dem til Forespørgselsdesigner, vil du se noget, der ligner relationen – men husk, at det er det ikke. Access fortæller dig blot om den type relation, der er brugt som MØNSTERET for joinforbindelsen.

Og så længe du har en joinforbindelse mellem dine tabeller eller forespørgsler, kan du føje felter fra begge kilder til.

Bemærk, at vi ikke føjede de sammenknyttede felter til designgitteret. Det behøver vi ikke, da Access tilføjer dem i baggrunden.

Du kan køre forespørgslen og få et resultat.

Lad os nu se nærmere på joinforbindelser, da du skal huske et par vigtige punkter.

Først kan du indstille eller ændre typen af joinforbindelse ved at højre- eller dobbeltklikke på joinlinjen og vælge Joinegenskaber.

Disse indstillinger kontrollerer typen af joinforbindelser i din forespørgsel, og disse er de mest almindelige typer af joinforbindelser.

Denne valgmulighed opretter en "indre joinforbindelse". Dette er den type joinforbindelse, der returnerer matchende data fra BEGGE tabeller.

Access opretter denne type joinforbindelse, hver gang du opretter en relation.

Den anden mulighed opretter en "venstre ydre joinforbindelse," hvilket betyder, at forespørgslen returnerer ALLE dataene fra den tabel, der er angivet til venstre og kun data, der MATCHER, fra den anden tabel.

Den tredje valgmulighed opretter en "højre ydre joinforbindelse", og du kan sikkert gætte, hvad der sker.

Forespørgslen returnerer ALLE data fra tabellen til højre og kun data, der MATCHER, fra tabellen til venstre.

Du anvender normalt ydre joinforbindelser, når du vil vide, hvad der ikke sælger eller mere generisk, når der ikke er sket noget.

Husk, at disse er de tre mest almindelige typer joinforbindelser. Du kan også bruge "tværgående joinforbindelser" og "ulige joinforbindelser", men disse bruges ikke ret ofte.

Et andet vigtigt punkt vedrørende joinforbindelser er, at "relationer" og "joinforbindelser" ikke det samme.

En RELATION er et sæt regler, der styrer referentiel integritet: hvordan du tilføjer og sletter data.

En JOINFORBINDELSE styrer, hvordan din forespørgsel matcher dataene.

Men de to kan være nogenlunde ens.

Relationer kan f.eks. have sider—én og mange—og dine joinforbindelser kan også have sider—venstre og højre—men du bruger kun joinforbindelser i forespørgsler, og du kan bruge dem på måder, som du ikke kan i relationer.

Du kan f.eks. slette joinforbindelser uden at skade din database, noget du ikke kan med en relation.

Du kan desuden tilføje joinforbindelser, hvor relationer ikke findes.

Du kan f.eks. forbinde et felt i en tabel med et felt i en forespørgsel, så længe disse felter har datatyper, der matcher eller er kompatible.

Nu ved du, hvordan du opretter en udvælgelsesforespørgsel med flere datakilder. Du kan også angive eller ændre typen af joinforbindelse. Og du forstår ligheder og forskelle mellem joinforbindelser og relationer.

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

Var disse oplysninger nyttige?

Tak for din feedback!

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

×