Sammenligne to tabeller og søke etter bare samsvarende data

Sammenligne to tabeller og søke etter bare samsvarende data

Noen ganger kan det hende at du bare ønsker å se oppføringer fra én Access-tabell hvis det finnes tilsvarende oppføringer i en annen Access-tabell som inneholder ett eller flere felt med samsvarende data. Det kan for eksempel hende at du ønsker å se oppføringene over ansatte som har behandlet minst én ordre, for å avgjøre hvilke ansatte som er kvalifisert for bonus. Eller du vil se gjennom kontaktinformasjonen for kunder som bor i samme by som en ansatt, slik at du kan jamføre ansatte med kunder for personlige møter.

Når du vil sammenligne to Access-tabeller for å finne samsvarende data, kan du enten:

  • Opprette en spørring som kobler felt fra hver tabell der disse feltene inneholder tilsvarende informasjon, enten ved hjelp av en eksisterende relasjon eller ved hjelp av en kobling som du oppretter for spørringen. Denne metoden gir optimal ytelse (hastigheten spørringen returnerer resultater med), men du kan ikke koble sammen felter som har ulike datatyper.

  • Opprette en spørring som sammenligner feltene ved å bruke ett felt som et vilkår for det andre. Å bruke ett felt som vilkår for et annet felt er vanligvis langsommere enn å bruke koblinger, fordi koblinger eliminerer radene fra spørringsresultatene før de underliggende tabellene leses, mens vilkår gjelder for resultatene av en spørring etter at de underliggende tabellene er lest. Du kan imidlertid bruke et felt som feltvilkår for å sammenligne felter som har ulike datatyper, noe som du ikke kan gjøre ved bruk av koblinger.

Denne artikkelen beskriver hvordan du sammenligner to tabeller for å identifisere samsvarende data, og gir eksempeldata som du kan bruke sammen med eksempelprosedyrer.

Hva vil du gjøre?

Sammenligne to tabeller ved bruk av koblinger

Sammenligne to tabeller ved bruk av et felt som vilkår

Sammenligne to tabeller ved bruk av koblinger

Hvis du vil sammenligne to tabeller ved bruk av koblinger, oppretter du en utvalgsspørring som inneholder begge tabellene. Hvis det ikke allerede finnes en eksisterende relasjon mellom tabellene for feltene som inneholder tilsvarende data, kan du opprette en kobling for feltene du vil undersøke for treff. Du kan opprette så mange koblinger du vil, men hvert par med sammenføyde felt må være av samme eller en kompatibel datatype.

La oss se for oss at du er rådgiver ved et universitet og ønsker å finne ut hvordan nylige pensumendringer for matematisk institutt har påvirket studentenes karakterer. Du er spesielt interessert i karakterene for hovedfagsstudentene i matematikk. Du har allerede en tabell med data for hovedfagstudenter og en tabell med data for klasseregistreringer. Karakterdata lagres i tabellen Klasseregistreringer, og data for hovedfagsstudentene lagres i tabellen Hovedfagsstudenter. Hvis du vil se hvordan karakterene for hovedfagsstudentene i matematikk har utviklet seg etter at pensum ble endret, må du se gjennom oppføringene fra registreringstabellen som har tilsvarende oppføringer i tabellen for hovedfagsstudentene.

Klargjøre eksempeldata

I dette eksemplet bygger du en spørring som bestemmer hvordan pensumendringene ved matematisk institutt har påvirket matematikkstudentenes karakterer. Du bruker følgende to eksempeltabeller: Hovedfagsstudenter og Klasseregistreringer. Legg til de to eksempeltabellene, Hovedfagsstudenter og Klasseregistreringer, i en database.

Microsoft Office Access 2007 gir flere alternativer for å legge eksempeltabellene i en database. Du kan skrive inn data manuelt, kopiere hver tabell i et regnearkprogram (som Microsoft Office Excel 2007), og deretter importere regnearkene i Office Access 2007. Alternativt kan du lime inn data i et tekstredigeringsprogram, som Notisblokk, og deretter importere data fra de resulterende tekstfilene.

Trinnene i dette avsnittet forklarer hvordan du skriver inn data manuelt i et tomt dataark og hvordan du kopierer eksempeltabellene til Excel, før du deretter importerer disse tabellene i Access.

Hovedfagsstudenter

Student-ID

År

Studieretning

123456789

2005

MATEMATIKK

223334444

2005

ENGELSK

987654321

2005

MATEMATIKK

135791357

2005

HISTORIE

147025836

2005

BIOLOGI

707070707

2005

MATEMATIKK

123456789

2006

MATEMATIKK

223334444

2006

ENGELSK

987654321

2006

PSYKOLOGI

135791357

2006

KUNST

147025836

2006

BIOLOGI

707070707

2006

MATEMATIKK

Klasseregistreringer

Student-ID

År

Semester

Pensum

Kursnr.

Karakter

123456789

2005

3

MATEMATIKK

221

A

123456789

2005

3

ENGELSK

101

B

123456789

2006

1

MATEMATIKK

242

C

123456789

2006

1

MATEMATIKK

224

C

223334444

2005

3

ENGELSK

112

A

223334444

2005

3

MATEMATIKK

120

C

223334444

2006

1

STATSVITENSKAP

110

A

223334444

2006

1

ENGELSK

201

B

987654321

2005

3

MATEMATIKK

120

A

987654321

2005

3

PSYKOLOGI

101

A

987654321

2006

1

MATEMATIKK

221

B

987654321

2006

1

MATEMATIKK

242

C

135791357

2005

3

HISTORIE

102

A

135791357

2005

3

KUNST

112

A

135791357

2006

1

MATEMATIKK

120

B

135791357

2006

1

MATEMATIKK

141

C

147025836

2005

3

BIOLOGI

113

B

147025836

2005

3

KJEMI

113

B

147025836

2006

1

MATEMATIKK

120

D

147025836

2006

1

STATISTIKK

114

B

707070707

2005

3

MATEMATIKK

221

B

707070707

2005

3

STATISTIKK

114

A

707070707

2006

1

MATEMATIKK

242

D

707070707

2006

1

MATEMATIKK

224

C

Hvis du vil bruke et regnearkprogram for å skrive inn eksempeldata, kan du hoppe over følgende avsnitt.

Skriv inn eksempeldata manuelt

  1. Åpne en ny eller eksisterende database.

  2. Klikk Tabell i Tabeller-gruppen i Opprett-fanen.

    Båndet i Access

    Access legger til en ny, tom tabell i databasen.

    Merknad: Du trenger ikke å følge dette trinnet hvis du åpner en ny, tom database, men du må følge det når du trenger å legge til en tabell i databasen.

  3. Dobbeltklikk den første cellen i overskriftsraden, og skriv deretter inn navnet på feltet i eksempeltabellen.

    Som standard angir Access tomme felt i overskriftsraden med teksten Legg til nytt felt, som:

    Et nytt felt i et dataark

  4. Bruk piltastene for å gå til neste tomme overskriftscelle, og skriv deretter inn det andre feltnavnet. (Du kan også dobbeltklikke den nye cellen.) Gjenta dette trinnet for hvert feltnavn.

  5. Skriv inn data i eksempeltabellen.

    Når du skriver inn data, utleder Access en datatype for hvert felt. Hvert felt har en bestemt datatype, for eksempel tall, tekst eller dato/klokkeslett. Å angi datatyper sikrer nøyaktig dataregistrering og hindrer feil, som for eksempel at telefonnummer brukes i en beregning. Tillat Access å utlede datatypen for disse eksempeltabellene, men husk å se gjennom datatypen som Access utleder for hvert felt.

  6. Når du er ferdig med å skrive inn data, klikker du Lagre, eller trykker CTRL + S.

    Dialogboksen Lagre som vises.

  7. I Tabellnavn-boksen skriver du inn navnet på eksempeltabellen, og klikker deretter OK.

    Du bruker navnet på hver eksempeltabell (for eksempel hovedfagsstudenter) fordi spørringene i prosedyreavsnittene for denne artikkelen også bruker disse navnene.

Når du er ferdig med å skrive inn eksempeldata, er du klar til å sammenligne de to tabellene.

Hopp over følgende avsnitt (Opprette eksempelregneark) med mindre du vil lære hvordan du oppretter et regneark som er basert på eksempeldata fra tabellene i forrige avsnitt.

Opprette eksempelregneark

  1. Start regnearkprogrammet, og opprett en ny, tom fil. Hvis du bruker Excel, opprettes en ny, tom arbeidsbok som standard når du starter programmet.

  2. Kopier første eksempeltabell fra det foregående avsnittet og lim den inn i det første regnearket ved å starte med den første cellen. Kontroller at du kopierer overskriftsraden fordi den inneholder feltnavnene for eksempeltabellen.

  3. Bruk teknikken som er angitt i regnearkprogrammet og gi regnearket samme navn som eksempeltabellen. Hvis du for eksempel limer inn eksempeldataene Klasseregistreringer, kaller du regnearket Klasseregistreringer.

  4. Gjenta trinn 2 og 3, kopier den andre eksempeltabellen til et tomt regneark, og gi nytt navn til regnearket.

    Merknad: Det kan hende at du må legge til regneark i regnearkfilen. Hvis du vil ha informasjon om å legge til regneark i regnearkfilen, kan du se hjelp for regnearkprogrammet.

  5. Lagre arbeidsboken på en passende plassering på datamaskinen eller nettverket, og gå til de neste trinnene.

Opprette databasetabeller fra regnearkene

  1. I en ny eller eksisterende database:

    Klikk Excel i Import-gruppen på Eksterne data-fanen.

    Båndet i Access

    -eller-

    Klikk Mer, og velg deretter et regnearkprogram fra listen.

    Dialogboksen Hent eksterne data – Navn på regnearkprogram vises.

  2. Klikk Bla gjennom, finn og åpne regnearkfilen som du opprettet i forrige trinn, og klikk deretter OK.

    Veiviseren for regnearkimport starter.

    Som standard velger veiviseren det første regnearket i arbeidsboken, (Hovedfagsstudenter hvis du har fulgt trinnene i forrige avsnitt), og data fra regnearket vises i den nederste delen av siden i veiviseren.

  3. Klikk Neste.

  4. På neste side i veiviseren velger du avmerkingsboksen Første rad inneholder kolonneoverskrifter, og klikker deretter Neste.

  5. På neste side kan du bruke tekstboksene og listene under Feltalternativer for å endre feltnavn og datatyper eller utelate felt fra importoperasjonen. I dette eksemplet trenger du ikke endre noe. Klikk Neste.

  6. På neste side velger du alternativet Ingen primærnøkkel og klikker deretter Neste.

  7. Som standard bruker Access navnet på regnearket på den nye tabellen. Godta navnet i Importer til tabell-boksen, og klikk deretter Fullfør.

  8. Lagre importtrinn-siden klikker du Lukk for å fullføre veiviseren.

  9. Gjenta trinn 1–7 til du har opprettet en tabell fra hvert regneark i regnearkfilen.

Sammenlign eksempeltabellene og finn samsvarende poster ved bruk av koblinger

Du er nå klar for å sammenligne tabellene Klasseregistreringer og Hovedfagsstudenter. Fordi du ikke har definert relasjonene mellom de to tabellene, må du opprette koblinger mellom de riktige feltene i spørringen. Tabellene har flere enn ett felt felles, og du må opprette en kobling for hvert par av vanlige felt: Student-ID, år, og pensum (tabell for klasseregistreringer) og studieretning (tabell for hovedfagsstudenter). I dette eksempelet er du bare interessert i hovedfagsstudenter i matematikk, derfor bruker du også et feltkriterium for å begrense resultatene av spørringen.

  1. Åpne databasen der du lagret eksempeltabellene.

  2. Klikk Spørringsutforming i kategorien Opprett.

  3. I dialogboksen Vis tabell dobbeltklikker du tabellen som inneholder oppføringene du vil vise – i dette eksempelet tabellen Klasseregistreringer, og deretter dobbeltklikker du tabellen som du sammenligner den med – i dette eksempelet tabellen Hovedfagsstudenter.

  4. Lukk dialogboksen Vis tabell.

  5. Dra Student-ID-feltet fra Klasseregistreringer-tabellen til Student-ID-feltet i Hovedfagsstudenter-tabellen. Det vises en linje mellom de to tabellene i utformingen av rutenettet som angir at du har opprettet en kobling. Dobbeltklikk linjen for å åpne dialogboksen Sammenføyningsegenskaper.

  6. Gjennomgå de tre alternativene i dialogboksen Sammenføyningsegenskaper. Som standard er alternativ 1 valgt. I noen tilfeller må du justere slå sammen egenskaper for å inkludere ekstra rader fra én tabell. Fordi du prøver å finne bare samsvarende data, kan du la koblingen være angitt til alternativ 1. Lukk dialogboksen Sammenføyningsegenskaper ved å klikke Avbryt.

  7. Du må opprette to andre koblinger. Opprett disse koblinger ved å dra År-feltet fra Klasseregistreringer-tabellen til År-feltet i Hovedfagsstudenter-tabellen. Deretter drar du Pensum-feltet fra Klasseregistreringer-tabellen til Studieretning-feltet i Hovedfagsstudenter-tabellen.

  8. I Klasseregistreringer-tabellen dobbeltklikker du stjernen (*) for å legge til alle tabellfeltene i utforming av rutenettet for spørringen.

    Merknad: Når du bruker en stjerne for å legge til alle feltene, vises bare én kolonne i utforming av rutenettet. Kolonnen som vises, er navnet på tabellen etterfulgt av et punktum (.) og en stjerne (*). I dette eksempelet kalles kolonnen Klasseregistreringer.*.

  9. I Hovedfagsstudenter-tabellen dobbeltklikker du Studieretning-feltet for å legge det til rutenettet.

  10. Fjern avmerkingen i Vis-raden på Studieretning-kolonnen i spørringsrutenettet.

  11. I Vilkår-raden i Studieretning-kolonnen skriver du MATEMATIKK.

  12. Klikk Kjør i Resultater-gruppen i kategorien Utforming.

    Spørringen kjører, og viser deretter bare matematikkkarakterene for hovedfagsstudenter i matematikk.

Til toppen av siden

Sammenligne to tabeller ved bruk av et felt som vilkår

Noen ganger vil du kanskje sammenligne tabeller på grunnlag av feltene som inneholder samsvarende data, men har forskjellige datatyper. Et felt i én tabell kan for eksempel ha datatypen tall, mens du vil sammenligne feltet med et felt i en annen tabell som har datatypen tekst. Felt som inneholder lignende data, men har ulike felttyper, kan bli resultatet når tallene er lagret som tekst, enten etter utforming eller av andre årsaker, for eksempel import av data fra et annet program. Fordi du ikke kan opprette koblinger mellom felt som har forskjellige datatyper, må du bruke en annen metode for å sammenligne feltene. Du kan sammenligne to felter med ulike datatyper ved å bruke det ene feltet som vilkår for det andre feltet.

La oss se for oss at du er rådgiver ved et universitet og ønsker å finne ut hvordan nylige pensumendringer for matematisk institutt har påvirket studentenes karakterer. Du er spesielt interessert i karakterene for hovedfagsstudentene i matematikk. Du har allerede tabellene for Hovedfagsstudenter og Klasseregistrering. Karakterdata lagres i tabellen Klasseregistreringer, og data for hovedfagsstudentene lagres i tabellen Hovedfagsstudenter. Hvis du vil se hvordan karakterene har utviklet seg for hovedfagsstudenter i matematikk, må du se på oppføringene fra tabellen registreringer som har samsvarende poster i tabellen studieretning. Ett av feltene som du vil bruke for å sammenligne tabellene, har imidlertid en annen datatype sammenlignet med den andre tabellen.

Hvis du vil sammenligne to tabeller ved å bruke et felt som vilkår, oppretter du en utvalgsspørring som inneholder begge tabellene. Du inkluderer feltene du vil vise samt feltet som tilsvarer feltet du vil bruke som vilkår. Deretter oppretter du et vilkår for å sammenligne tabellene. Du kan opprette så mange vilkår for å sammenligne feltene som du ønsker.

La oss si at du for eksempel ønsker å bruke eksempeltabeller fra forrige avsnitt, men du vil endre datatypen i feltet Student-ID i eksempeltabellen Hovedfagsstudenter fra Tall til Tekst. Fordi du ikke kan opprette en kobling mellom to felt som har forskjellige datatyper, må du sammenligne de to Student-ID-feltene ved å bruke av ett felt som vilkår for det andre.

Endre datatype for feltet Student-ID for hovedfagsstudenter

  1. Åpne databasen der du lagret eksempeltabellene.

  2. I Navigasjonsruten høyreklikker du tabellen Hovedfagsstudenter, og klikker deretter Utformingsvisning i hurtigmenyen.

    Tabellen Hovedfagsstudenter åpnes i utformingsvisning.

  3. I Datatype-kolonnen endrer du innstillingen for Student-ID fra Tall til Tekst.

  4. Lukk tabellen Hovedfagsstudenter. Klikk Ja når du blir bedt om å lagre endringene.

Sammenlign eksempeltabellene og finn samsvarende oppføringer ved å bruke et feltvilkår

Følgende prosedyre viser hvordan du sammenligner to Student-ID-felter ved å bruke feltet fra Klasseregistreringer som vilkår for feltet fra Hovedfagsstudenter. Ved bruk av nøkkelordet Som kan du sammenligne feltene, selv om de har forskjellige datatyper.

  1. Klikk Spørringsutforming i Annet-gruppen på Opprett-fanen.

  2. I dialogboksen Vis tabell dobbeltklikker du Klasseregistreringer, og dobbeltklikker deretter Hovedfagsstudenter.

  3. Lukk dialogboksen Vis tabell.

  4. Dra År-feltet fra Klasseregistreringer-tabellen til År-feltet i Hovedfagsstudenter-tabellen. Dra deretter Pensum-feltet fra Klasseregistreringer-tabellen til Studieretning-feltet i Hovedfagsstudenter-tabellen. Fordi disse feltene har samme datatype, kan du sammenligne dem ved bruk av koblinger. Koblinger er foretrukket metode for å sammenligne felt som har samme datatype.

  5. Dobbeltklikk stjernen (*) i Klasseregistreringer-tabellen for å legge til alle tabellfeltene i spørringsrutenettet for spørringen.

    Merknad: Når du bruker en stjerne for å legge til alle feltene, vises bare én kolonne i utforming av rutenettet. Kolonnen som vises, er navnet på tabellen etterfulgt av et punktum (.) og en stjerne (*). I dette eksempelet kalles kolonnen Klasseregistreringer.*.

  6. I Hovedfagsstudenter-tabellen dobbeltklikker du Student-ID-feltet for å legge det til rutenettet.

  7. Fjern avmerkingen i Vis-raden i Student-ID-kolonnen i utformingsrutenettet. I Vilkår-raden i Student-ID-kolonnen skriver du inn Som [Klasseregistreringer].[Student-ID].

  8. I Hovedfagsstudenter-tabellen dobbeltklikker du Studieretning-feltet for å legge det til rutenettet.

  9. Fjern avmerkingen i Vis-raden i Studieretning-kolonnen i utformingsrutenettet. I Vilkår-raden skriver du MATEMATIKK.

  10. Klikk Kjør i Resultater-gruppen i kategorien Utforming.

    Spørringen kjører, og viser deretter bare matematikkkarakterene for hovedfagsstudenter i matematikk.

Til toppen av siden

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.

×