Office
Aanmelden
Twee tabellen vergelijken en alleen overeenkomende gegevens zoeken

Twee tabellen vergelijken en alleen overeenkomende gegevens zoeken

Opmerking: We willen u graag zo snel mogelijk de meest recente Help-inhoud in uw eigen taal bieden. Deze pagina is automatisch vertaald en kan grammaticale fouten of onnauwkeurigheden bevatten. Wij hopen dat deze inhoud nuttig voor u is. Kunt u ons onder aan deze pagina laten weten of de informatie nuttig voor u was? Hier is het Engelstalige artikel ter referentie.

Het kan gebeuren dat u records van een tabel alleen wilt bekijken als een andere tabel corresponderende records bevat waarin een of meer velden met overeenkomende gegevens staan. Misschien wilt u de werknemersrecords controleren van werknemers die minstens één order hebben verwerkt om te bepalen welke werknemers in aanmerking komen voor een bonus. Het is ook mogelijk dat u contactgegevens wilt weergeven voor klanten met dezelfde woonplaats als een werknemer, zodat u werknemers aan klanten kunt koppelen voor persoonlijke ontmoetingen.

Wanneer u twee tabellen wilt vergelijken en overeenkomende gegevens wilt zoeken, gaat u op een van de volgende twee manieren te werk:

  • Maak een query voor het samenvoegen van velden uit elke tabel waarin de betreffende velden corresponderende gegevens bevatten, hetzij door middel van een bestaande relatie, hetzij met een speciaal voor de query gemaakte join. Met deze methode wordt de query het snelst uitgevoerd, maar kunt u geen velden met verschillende gegevenstypen samenvoegen.

  • Maak een query waarmee velden met elkaar worden vergeleken door het ene veld als criterium voor een ander veld te gebruiken. Deze aanpak is over het algemeen trager dan het toepassen van joins omdat bij joins rijen worden weggelaten uit de resultaten van een query voordat de onderliggende tabellen worden gelezen, terwijl criteria worden toegepast op de resultaten van een query nadat de onderliggende tabellen zijn gelezen. U kunt echter een veld als veldcriterium gebruiken om velden te vergelijken met verschillende gegevenstypen, iets wat niet mogelijk is bij joins.

In dit artikel wordt beschreven hoe u twee tabellen vergelijkt om overeenkomende gegevens vast te stellen. Het artikel bevat voorbeeldgegevens die u kunt gebruiken met voorbeeldprocedures.

Wat wilt u doen?

Twee tabellen vergelijken met behulp van joins

Twee tabellen vergelijken door een veld als criterium te gebruiken

Twee tabellen vergelijken met behulp van joins

Als u twee tabellen wilt vergelijken met behulp van joins, moet u een selectiequery maken die beide tabellen opneemt. Als er niet al een bestaande relatie is tussen de tabellen voor de velden die de overeenkomende gegevens bevatten, kunt u een join maken voor de velden die u wilt doorzoeken op overeenkomende gegevens. U mag zo veel joins maken als u wilt, maar elk paar gekoppelde velden moet van hetzelfde of een compatibel gegevenstype zijn.

Stel dat u een onderzoeker aan een onderwijsinstelling bent en u wilt zien welke invloed recente wijzigingen van het curriculum van de wiskundeafdeling hebben gehad op de cijfers van studenten. U bent dus met name geïnteresseerd in de cijfers van studenten met als hoofdvak Wiskunde. U hebt al een tabel met gegevens van de hoofdvakken van studenten en een tabel met inschrijvingsgegevens. Cijfergegevens zijn opgeslagen in de tabel Vakinschrijvingen, en hoofdvakgegevens voor studenten in de tabel Hoofdvakken studenten. Als u wilt zien hoe de cijfers van wiskundestudenten zijn veranderd sinds de recente wijzigingen in het curriculum, moet u kijken naar records uit de inschrijvingstabel die corresponderende records in de hoofdvakkentabel hebben.

Voorbeeldgegevens maken

In dit voorbeeld stelt u een query samen die bepaalt hoe de cijfers van studenten zijn beïnvloed door recente curriculumwijzigingen in de wiskundefaculteit. U gebruikt de voorbeeldtabellen Hoofdvakken studenten en Vakinschrijvingen. Voeg deze twee voorbeeldtabellen aan een database toe.

In Microsoft Office Access 2007 kunt u deze voorbeeldtabellen op verschillende manieren aan een database toevoegen. U kunt de gegevens handmatig invoeren, u kunt elke tabel naar een spreadsheetprogramma (bijvoorbeeld Microsoft Office Excel 2007) kopiëren en de werkbladen vervolgens in Office Access 2007 importeren, of u kunt de gegevens in een teksteditor (zoals Kladblok) plakken en de gegevens vervolgens vanuit de resulterende tekstbestanden importeren.

In de stappen in dit gedeelte wordt uitgelegd hoe u gegevens handmatig in een leeg gegevensblad invoert en hoe u de voorbeeldtabellen naar Excel kopieert en deze tabellen vervolgens in Access importeert.

Hoofdvakken studenten

Student-id

Jaar

Hoofdvak

123456789

2005

WISK

223334444

2005

ENG

987654321

2005

WISK

135791357

2005

GESCH

147025836

2005

BIOL

707070707

2005

WISK

123456789

2006

WISK

223334444

2006

ENG

987654321

2006

PSYCH

135791357

2006

REK

147025836

2006

BIOL

707070707

2006

WISK

Vakinschrijvingen

Student-id

Jaar

Onderwijsperiode

Curriculum

Nummer leergang

Cijfer

123456789

2005

3

WISK

221

A

123456789

2005

3

ENG

101

B

123456789

2006

1

WISK

242

C

123456789

2006

1

WISK

224

C

223334444

2005

3

ENG

112

A

223334444

2005

3

WISK

120

C

223334444

2006

1

POLIT

110

A

223334444

2006

1

ENG

201

B

987654321

2005

3

WISK

120

A

987654321

2005

3

PSYCH

101

A

987654321

2006

1

WISK

221

B

987654321

2006

1

WISK

242

C

135791357

2005

3

GESCH

102

A

135791357

2005

3

REK

112

A

135791357

2006

1

WISK

120

B

135791357

2006

1

WISK

141

C

147025836

2005

3

BIOL

113

B

147025836

2005

3

SCHEIK

113

B

147025836

2006

1

WISK

120

D

147025836

2006

1

STAT

114

B

707070707

2005

3

WISK

221

B

707070707

2005

3

STAT

114

A

707070707

2006

1

WISK

242

D

707070707

2006

1

WISK

224

C

Als u de voorbeeldgegevens met behulp van een spreadsheetprogramma wilt invoeren, kunt u het volgende gedeelte overslaan.

De voorbeeldgegevens handmatig invoeren

  1. Open een nieuwe of bestaande database.

  2. Klik op het tabblad Maken in de groep Tabellen op Tabel.

    Office 2010-lint

    In Access wordt een nieuwe, lege tabel aan de database toegevoegd.

    Opmerking: U hoeft deze stap niet uit te voeren als u een nieuwe, lege database opent, maar wel wanneer u een tabel aan een database wilt toevoegen.

  3. Dubbelklik in de eerste cel van de veldnamenrij en typ de naam van het veld in de voorbeeldtabel.

    Lege velden in de veldnamenrij worden in Access standaard aangegeven met de tekst Nieuw veld toevoegen, zoals in:

    Een nieuw veld in een gegevensblad

  4. Gebruik de pijltoetsen om naar de volgende lege cel met koptekst te gaan en typ de tweede veldnaam. (U kunt ook dubbelklikken op de nieuwe cel.) Herhaal deze stap voor elke veldnaam.

  5. Voer de gegevens in de voorbeeldtabel in.

    Tijdens het invoeren van de gegevens wordt door Access een gegevenstype voor elk veld afgeleid. Elk veld heeft een specifiek gegevenstype, zoals Numeriek, Tekst of Datum/tijd. Het instellen van gegevenstypen bevordert nauwkeurige gegevensinvoer en helpt vergissingen (zoals het gebruik van een telefoonnummer in een berekening) te voorkomen. Laat de gegevenstypen in deze voorbeeldtabellen door Access afleiden, maar vergeet niet het afgeleide gegevenstype voor elk veld te controleren.

  6. Klik na het invoeren van de gegevens op Opslaan of druk op Ctrl+S.

    Het dialoogvenster Opslaan als wordt weergeven.

  7. Typ in het vak Tabelnaam de naam van de voorbeeldtabel in en klik op OK.

    U gebruikt de naam van elke voorbeeldtabel (bijvoorbeeld Hoofdvakken studenten) omdat de query's in de proceduregedeelten van dit artikel ook naar deze namen verwijzen.

Na het invoeren van de voorbeeldgegevens kunt u de twee tabellen vergelijken.

Sla het volgende gedeelte ('De voorbeeldwerkbladen maken') over, tenzij u wilt leren hoe u een werkblad maakt op basis van de voorbeeldgegevens uit de tabellen in het vorige gedeelte.

De voorbeeldwerkbladen maken

  1. Start uw spreadsheetprogramma en maak een nieuw, leeg bestand. Als u Excel gebruikt, wordt standaard een nieuwe, lege werkmap gemaakt wanneer u het programma start.

  2. Kopieer de eerste voorbeeldtabel uit het vorige gedeelte en plak deze in het eerste werkblad, beginnend bij de eerste cel. Vergeet niet de veldnamenrij te kopiëren, want deze bevat de veldnamen van de voorbeeldtabel.

  3. Voer de opslagprocedure van uw spreadsheetprogramma uit en geef het werkblad dezelfde naam als de voorbeeldtabel. Wanneer u bijvoorbeeld de voorbeeldgegevens uit Vakinschrijvingen plakt, geeft u het werkblad de naam 'Vakinschrijvingen'.

  4. Herhaal stap 2 en 3 om de tweede voorbeeldtabel naar een leeg werkblad te kopiëren en de naam van het werkblad te wijzigen.

    Opmerking: U moet mogelijk werkbladen aan het werkbladbestand toevoegen. Zie de Help van uw spreadsheetprogramma voor informatie over het toevoegen van werkbladen aan een werkbladbestand.

  5. Sla de werkmap op op een geschikte locatie op uw computer of netwerk en ga naar de volgende serie stappen.

Databasetabellen van de werkbladen maken

  1. In een nieuwe of bestaande database:

    Klik op het tabblad Externe gegevens in de groep Importeren op Excel.

    Office 2010-lint

    -of-

    Klik op Meer en selecteer een spreadsheetprogramma in de lijst.

    Het dialoogvenster Externe gegevens ophalen - Programmanaam-werkblad wordt geopend.

  2. Klik op Bladeren, zoek en open het werkbladbestand dat u in de vorige stappen hebt gemaakt en klik op OK.

    De wizard Werkblad importeren wordt gestart.

    In de wizard wordt standaard het eerste werkblad in de werkmap geselecteerd (als u de stappen in het vorige gedeelte hebt gevolgd is dat het werkblad Hoofdvakken studenten). De gegevens uit dit werkblad worden weergegeven in het onderste gedeelte van de wizardpagina.

  3. Klik op Volgende.

  4. Schakel op de volgende pagina van de wizard het selectievakje Kolomkoppen in eerste rij in en klik op Volgende.

  5. Op de volgende pagina van de wizard kunt u veldnamen en gegevenstypen wijzigen of velden van de importbewerking uitsluiten met behulp van de tekstvakken en lijsten onder Veldopties. Voor dit voorbeeld hoeft u niets te wijzigen. Klik op Volgende.

  6. Selecteer op de volgende pagina de optie Geen primaire sleutel en klik op Volgende.

  7. Standaard krijgt de nieuwe tabel in Access de naam van het werkblad. Accepteer de naam in het vak Importeren in tabel en klik op Voltooien.

  8. Klik op de pagina Importstappen opslaan op Sluiten om de wizard te voltooien.

  9. Herhaal stap 1 tot en met 7 tot u een tabel hebt gemaakt van elk werkblad in het werkbladbestand.

De voorbeeldtabellen vergelijken en overeenkomende records zoeken met behulp van joins

Nu bent u klaar om de tabel Vakinschrijvingen te vergelijken met de tabel Hoofdvakken studenten. Aangezien u geen relaties tussen de twee tabellen hebt gedefinieerd, moet u in de query joins tussen de juiste velden maken. De tabellen hebben meerdere velden gemeen, en u moet een join maken voor elk paar gemeenschappelijke velden: Studentnummer, Jaar en Curriculum (tabel Vakinschrijvingen) en Hoofdvak (tabel Hoofdvakken studenten). In dit voorbeeld bent u alleen geïnteresseerd in studenten met het hoofdvak wiskunde, dus u gaat ook een veldcriterium gebruiken om de queryresultaten te beperken.

  1. Open de database waarin u de voorbeeldtabellen hebt opgeslagen.

  2. Klik op het tabblad Maken op Queryontwerp.

  3. Dubbelklik in het dialoogvenster Tabel weergeven op de tabel met de records die u wilt weergeven, in dit voorbeeld de tabel Vakinschrijvingen, en dubbelklik vervolgens op de tabel waarmee u deze tabel wilt vergelijken, in dit voorbeeld de tabel Hoofdvakken studenten.

  4. Sluit het dialoogvenster Tabel weergeven.

  5. Sleep het veld Studentnummer van de tabel Vakinschrijvingen naar het veld Studentnummer van de tabel Hoofdvakken studenten. In het ontwerpraster wordt een lijn tussen de twee tabellen weergegeven, wat aanduidt dat u een join hebt gemaakt. Dubbelklik op de lijn om het dialoogvenster Joineigenschappen te openen.

  6. Bekijk de drie opties in het dialoogvenster Joineigenschappen. Standaard is de eerste optie geselecteerd. In bepaalde gevallen moet u de joineigenschappen aanpassen om extra rijen uit één tabel toe te voegen. Aangezien u alleen overeenkomende gegevens zoekt, laat u de join op de eerste optie ingesteld. Sluit het dialoogvenster Joineigenschappen door op Annuleren te klikken.

  7. U moet nog twee joins maken. Maak deze joins door het veld Jaar van de tabel Vakinschrijvingen naar het veld Jaar van de tabel Hoofdvakken studenten te slepen en vervolgens het veld Curriculum van de tabel Vakinschrijvingen naar het veld Hoofdvak in de tabel Hoofdvakken studenten te slepen.

  8. Dubbelklik in de tabel Vakinschrijvingen op het sterretje (*) om alle velden van de tabel aan het queryontwerpraster toe te voegen.

    Opmerking: Wanneer u het sterretje gebruikt om alle velden toe te voegen, wordt slechts één kolom in het ontwerpraster weergegeven. Deze kolom heeft de naam van de tabel, gevolgd door een punt (.) en een sterretje (*). In dit voorbeeld heet de kolom Vakinschrijvingen.*.

  9. Dubbelklik in de tabel Hoofdvakken studenten op het veld Hoofdvak om dit veld aan het ontwerpraster toe te voegen.

  10. Schakel het selectievakje in de rij Weergeven van de kolom Hoofdvak in het queryontwerpraster uit.

  11. Typ WISK in de rij Criteria van de kolom Hoofdvak.

  12. Ga naar het tabblad Ontwerp en klik in de groep Resultaten op Uitvoeren.

    De query wordt uitgevoerd en geeft als resultaat alleen de wiskundecijfers voor studenten met het hoofdvak wiskunde.

Naar boven

Twee tabellen vergelijken door een veld als criterium te gebruiken

In bepaalde gevallen zult u tabellen willen vergelijken op basis van velden die overeenkomende gegevens maar verschillende gegevenstypen hebben. Misschien wilt u bijvoorbeeld een tabelveld met het gegevenstype Numeriek vergelijken met een veld in een andere tabel dat het gegevenstype Tekst heeft. Velden met soortgelijke gegevens maar verschillende veldtypen kunnen ontstaan wanneer getallen al dan niet opzettelijk als tekst worden opgeslagen, bijvoorbeeld bij het importeren van gegevens uit een ander programma. Aangezien u geen joins kunt maken tussen velden met verschillende gegevenstypen, moet u de velden op een andere manier vergelijken. U kunt twee velden die verschillende gegevenstypen hebben, vergelijken door één veld als criterium voor het andere veld te gebruiken.

Stel dat u een onderzoeker aan een onderwijsinstelling bent en u wilt zien welke invloed recente wijzigingen van het curriculum van de wiskundeafdeling hebben gehad op de cijfers van studenten. U bent dus met name geïnteresseerd in de cijfers van studenten met als hoofdvak Wiskunde. U beschikt al over de tabel Hoofdvakken studenten en de tabel Vakinschrijvingen. Cijfergegevens zijn opgeslagen in de tabel Vakinschrijvingen, en hoofdvakgegevens voor studenten in de tabel Hoofdvakken studenten. Als u wilt zien hoe de cijfers van wiskundestudenten zijn veranderd, moet u kijken naar records uit de inschrijvingstabel die corresponderende records in de hoofdvakkentabel hebben. Een van de velden die u voor het vergelijken van de tabellen wilt gebruiken, heeft echter een ander gegevenstype dan het corresponderende veld in de andere tabel.

Als u twee tabellen wilt vergelijken door een veld als criterium te gebruiken, maakt u een selectiequery die beide tabellen bevat. U voegt de weer te geven velden toe, en tevens het veld dat correspondeert met het veld dat u als criterium wilt gebruiken. Vervolgens maakt u een criterium om de tabellen te vergelijken. U kunt zoveel criteria voor het vergelijken van velden maken als u wilt.

Ter illustratie van deze methode gaat u de voorbeeldtabellen uit het vorige gedeelte gebruiken, maar u gaat het gegevenstype van het veld Studentnummer in de tabel Hoofdvakken studenten veranderen van Numeriek in Tekst. Aangezien u geen join kunt maken tussen twee velden met verschillende gegevenstypen, moet u de twee Studentnummer-velden vergelijken door één veld als criterium voor het andere veld te gebruiken.

Het gegevenstype van het veld Studentnummer in de tabel Hoofdvakken studenten wijzigen

  1. Open de database waarin u de voorbeeldtabellen hebt opgeslagen.

  2. Klik in het navigatievenster met de rechtermuisknop op de tabel Hoofdvakken studenten en klik vervolgens op Ontwerpweergave in het snelmenu.

    De tabel Hoofdvakken studenten wordt geopend in de ontwerpweergave.

  3. Wijzig de instelling voor Studentnummer in de kolom Gegevenstype van Numeriek in Tekst.

  4. Sluit de tabel Hoofdvakken studenten. Wanneer u wordt gevraagd of u de wijzigingen wilt opslaan, klikt u op Ja.

De voorbeeldtabellen vergelijken en overeenkomende records zoeken door een veldcriterium te gebruiken

In de volgende procedure wordt gedemonstreerd hoe u de twee Studentnummer-velden vergelijkt door het veld uit de tabel Vakinschrijvingen als criterium voor het veld uit de tabel Hoofdvakken studenten te gebruiken. U kunt de velden vergelijken door middel van het sleutelwoord Like, ook al hebben ze verschillende gegevenstypen.

  1. Klik op het tabblad Maken in de groep Overige op Queryontwerp.

  2. Dubbelklik in het dialoogvenster Tabel weergeven op Vakinschrijvingen en vervolgens op Hoofdvakken studenten.

  3. Sluit het dialoogvenster Tabel weergeven.

  4. Sleep het veld Jaar van de tabel Vakinschrijvingen naar het veld Jaar van de tabel Hoofdvakken studenten en sleep het veld Curriculum van de tabel Vakinschrijvingen vervolgens naar het veld Hoofdvak in de tabel Hoofdvakken studenten. Aangezien deze velden dezelfde gegevenstypen hebben, kunt u ze vergelijken door middel van joins. Joins genieten de voorkeur voor het vergelijken van velden die hetzelfde gegevenstype hebben.

  5. Dubbelklik op het sterretje (*) in de tabel Vakinschrijvingen om alle velden van de tabel aan het queryontwerpraster toe te voegen.

    Opmerking: Wanneer u het sterretje gebruikt om alle velden toe te voegen, wordt slechts één kolom in het ontwerpraster weergegeven. Deze kolom heeft de naam van de tabel, gevolgd door een punt (.) en een sterretje (*). In dit voorbeeld heet de kolom Vakinschrijvingen.*.

  6. Dubbelklik in de tabel Hoofdvakken studenten op het veld Studentnummer om dit veld aan het ontwerpraster toe te voegen.

  7. Schakel het selectievakje in de rij Weergeven van de kolom Studentnummer in het ontwerpraster uit. Typ Like [Vakinschrijvingen].[Studentnummer] in de rij Criteria van de kolom Studentnummer.

  8. Dubbelklik in de tabel Hoofdvakken studenten op het veld Hoofdvak om dit veld aan het ontwerpraster toe te voegen.

  9. Schakel het selectievakje in de rij Weergeven van de kolom Hoofdvak in het ontwerpraster uit. Typ WISK in de rij Criteria.

  10. Ga naar het tabblad Ontwerp en klik in de groep Resultaten op Uitvoeren.

    De query wordt uitgevoerd en geeft als resultaat alleen de wiskundecijfers voor studenten met het hoofdvak wiskunde.

Naar boven

Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×