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
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.
Access har flere metoder for å legge til disse eksempeltabellene i en database. Du kan skrive inn dataene manuelt, du kan kopiere hver tabell til et regnearkprogram og deretter importere regnearkene til Access, eller du kan lime inn dataene i et tekstredigeringsprogram, for eksempel Notisblokk, og deretter importere dataene 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
-
Åpne en ny eller eksisterende database.
-
Klikk Tabell i Tabeller-gruppen i Opprett-fanen.
Access legger til en ny, tom tabell i databasen.
Obs!: 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.
-
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:
-
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.
-
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.
-
Når du er ferdig med å skrive inn data, klikker du Lagre, eller trykker CTRL + S.
Dialogboksen Lagre som vises.
-
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
-
Start regnearkprogrammet, og opprett en ny, tom fil. Hvis du bruker Excel, opprettes en ny, tom arbeidsbok som standard når du starter programmet.
-
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.
-
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.
-
Gjenta trinn 2 og 3, kopier den andre eksempeltabellen til et tomt regneark, og gi nytt navn til regnearket.
Obs!: 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.
-
Lagre arbeidsboken på en passende plassering på datamaskinen eller nettverket, og gå til de neste trinnene.
Opprette databasetabeller fra regnearkene
-
I en ny eller eksisterende database:
Klikk Excel i Import-gruppen på Eksterne data-fanen.
-eller-
Klikk Mer, og velg deretter et regnearkprogram fra listen.
Dialogboksen Hent eksterne data – Navn på regnearkprogram vises.
-
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.
-
Klikk Neste.
-
På neste side i veiviseren velger du avmerkingsboksen Første rad inneholder kolonneoverskrifter, og klikker deretter Neste.
-
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.
-
På neste side velger du alternativet Ingen primærnøkkel og klikker deretter Neste.
-
Som standard bruker Access navnet på regnearket på den nye tabellen. Godta navnet i Importer til tabell-boksen, og klikk deretter Fullfør.
-
På Lagre importtrinn-siden klikker du Lukk for å fullføre veiviseren.
-
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.
-
Åpne databasen der du lagret eksempeltabellene.
-
Klikk Spørringsutforming i kategorien Opprett.
-
Dobbeltklikk tabellen som inneholder postene du vil vise – i dette eksemplet tabellen Klasseregistreringer , og dobbeltklikk deretter tabellen du sammenligner den med – i dette eksemplet tabellen Hovedfagsstudenter .
-
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.
-
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.
-
Du må opprette to andre sammenføyninger. Opprett disse sammenføyningene ved å dra År-feltet fra tabellen Klasseregistreringer til År-feltet i tabellen Hovedfagsstudenter , og deretter ved å dra Pensum-feltet fra tabellen KlasseregistreringertilHovedfagsfagsstudenter-feltet i tabellen Hovedfagsstudenter .
-
I Klasseregistreringer-tabellen dobbeltklikker du stjernen (*) for å legge til alle tabellfeltene i utforming av rutenettet for spørringen.
Obs!: 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.*.
-
I Hovedfagsstudenter-tabellen dobbeltklikker du Studieretning-feltet for å legge det til rutenettet.
-
Fjern avmerkingen i Vis-raden på Studieretning-kolonnen i spørringsrutenettet.
-
I Vilkår-raden i Studieretning-kolonnen skriver du MATEMATIKK.
-
Klikk Kjør i Resultater-gruppen i kategorien Utforming.
Spørringen kjører, og viser deretter bare matematikkkarakterene for hovedfagsstudenter i matematikk.
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
-
Åpne databasen der du lagret eksempeltabellene.
-
I Navigasjonsruten høyreklikker du tabellen Hovedfagsstudenter, og klikker deretter Utformingsvisning i hurtigmenyen.
Tabellen Hovedfagsstudenter åpnes i utformingsvisning.
-
I Datatype-kolonnen endrer du innstillingen for Student-ID fra Tall til Tekst.
-
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.
-
Klikk Spørringsutforming i Annet-gruppen på Opprett-fanen.
-
Dobbeltklikk klasseregistreringer, og dobbeltklikk deretter Hovedfagsfagsstudent.
-
Dra År-feltet fra tabellen Klasseregistreringer til År-feltet i tabellen Hovedfagsstudenter, og dra deretter Pensum-feltet fra tabellen Klasseregistreringer til hovedfagsfeltet i tabellen Hovedfagsstudenter. Fordi disse feltene har de samme datatypene, kan du sammenligne dem ved hjelp av sammenføyninger. Sammenføyninger er den foretrukne metoden for å sammenligne felt som har samme datatype.
-
Dobbeltklikk stjernen (*) i Klasseregistreringer-tabellen for å legge til alle tabellfeltene i spørringsrutenettet for spørringen.
Obs!: 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.*.
-
I Hovedfagsstudenter-tabellen dobbeltklikker du Student-ID-feltet for å legge det til rutenettet.
-
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].
-
I Hovedfagsstudenter-tabellen dobbeltklikker du Studieretning-feltet for å legge det til rutenettet.
-
Fjern avmerkingen i Vis-raden i Studieretning-kolonnen i utformingsrutenettet. I Vilkår-raden skriver du MATEMATIKK.
-
Klikk Kjør i Resultater-gruppen i kategorien Utforming.
Spørringen kjører, og viser deretter bare matematikkkarakterene for hovedfagsstudenter i matematikk.