Soms wilt u misschien twee tabellen in Access vergelijken en records identificeren in een van de tabellen die geen overeenkomende records in de andere tabel hebben. De eenvoudigste manier om deze records te identificeren, is via de wizard Niet-gerelateerde records. Wanneer uw query met behulp van de wizard is gemaakt, kunt u het ontwerp van de query wijzigen om velden toe te voegen of te verwijderen of joins toe te voegen tussen de twee tabellen (om velden aan te geven waarvan de waarden moeten overeenkomen). U kunt ook uw eigen query maken om niet-gerelateerde records te zoeken, zonder de wizard te gebruiken.
In dit artikel leest u hoe u de wizard Niet-gerelateerde records start en uitvoert, de uitvoer van de wizard wijzigt en uw eigen query maakt om niet-gerelateerde records te zoeken.
In dit artikel
Wanneer moet ik zoeken naar niet-gerelateerde records?
Hieronder worden twee veelvoorkomende situaties beschreven waarin het handig kan zijn twee tabellen te vergelijken en niet-gerelateerde records te zoeken. Afhankelijk van uw situatie is het zoeken naar niet-gerelateerde records mogelijk de eerste stap die u wilt uitvoeren. In dit artikel wordt alleen het zoeken naar niet-gerelateerde records beschreven.
-
U gebruikt een tabel om gegevens over een object (bijvoorbeeld een product) op te slaan en een andere tabel om gegevens over acties (bijvoorbeeld orders) voor dit object op te slaan.
In de databasesjabloon Noordenwind worden gegevens van producten bijvoorbeeld opgeslagen in de tabel Producten, terwijl de tabel Orderinformatie gegevens van de producten in elke order bevat. Aangezien de tabel Producten (standaard) geen gegevens over orders bevat, kunt u uit deze ene tabel niet opmaken welke producten nooit zijn verkocht. Deze informatie valt evenmin af te leiden uit de tabel Orderinformatie, omdat deze tabel alleen gegevens over verkochte producten bevat. U moet de twee tabellen vergelijken om te bepalen welke producten nooit zijn verkocht.
Met behulp van een query voor niet-gerelateerde records kunt u een lijst weergeven met items in de eerste tabel waarvoor de tweede tabel geen overeenkomende items bevat.
-
U hebt twee tabellen die overlappende, overbodige of tegenstrijdige gegevens bevatten en u wilt deze tabellen samenvoegen tot één tabel.
Stel dat u twee tabellen hebt, respectievelijk Klanten en Afnemers genaamd. De tabellen zijn nagenoeg identiek, maar één of beide tabellen bevatten records die in de andere tabel ontbreken. Als u de tabellen wilt samenvoegen, moet u eerst bepalen welke records slechts in één tabel voorkomen.
In deze situatie kunnen de hier beschreven methoden van pas komen, maar zult u waarschijnlijk verdere stappen moeten uitvoeren. U kunt de wizard Niet-gerelateerde records uitvoeren ter identificatie van niet-gerelateerde records, maar als u de gecombineerde set records wilt ophalen, moet u de resultaten gebruiken om een samenvoegquery te maken. Als u vertrouwd bent met het schrijven van SQL-instructies (Structured Query Language), schrijft u de samenvoegquery misschien zelfs liever handmatig, zonder de wizard Niet-gerelateerde records.
U kunt het probleem van overlappende, overbodige of tegenstrijdige gegevens in veel gevallen aanpakken door te zoeken naar dubbele gegevens in twee of meer tabellen.
Klik op de koppelingen in de sectie Zie ook voor meer informatie over samenvoegquery's of over het zoeken, verbergen of verwijderen van dubbele gegevens.
Opmerking: In de voorbeelden in dit artikel wordt gebruikgemaakt van een database die is gemaakt met de Noordenwind-databasesjabloon.
Hoe u Noordenwind kunt instellen
-
Klik op het tabblad Bestand op Nieuw.
-
Afhankelijk van uw Access-versie kunt u zoeken naar Noordenwind in het zoekvak of klikt u in het linkerdeelvenster onder Sjablooncategorieën op Lokale sjablonen.
-
Klik onder Lokale sjablonen op Voorbeeld Noordenwind 2007 en klik vervolgens op Maken.
-
Volg de aanwijzingen op de pagina Noordenwind BV (op het objecttabblad van het opstartscherm) om de database te openen en sluit vervolgens het aanmeldingsvenster.
Twee tabellen vergelijken met behulp van de wizard Niet-gerelateerde records
-
Klik op het tabblad Maken in de groep Query's op Wizard Query.
-
Dubbelklik in het dialoogvenster Nieuwe query op Wizard Niet-gerelateerde records.
-
Selecteer op de eerste pagina van de wizard de tabel met niet-gerelateerde records en klik op Volgende. Als u bijvoorbeeld een lijst wilt zien van Noordenwind-producten die nooit zijn verkocht, selecteert u de tabel Producten.
-
Selecteer op de tweede pagina de gerelateerde tabel en klik op Volgende. In het kader van dit voorbeeld selecteert u de tabel Orderinformatie.
-
Selecteer op de derde pagina de velden door middel waarvan de tabellen zijn gerelateerd en klik op < = > en vervolgens op Volgende. U kunt slechts één veld per tabel kiezen. In het kader van het voorbeeld selecteert u Id in de tabel Producten en Product-id in de tabel Orderinformatie. Controleer aan de hand van de tekst in het vak Overeenkomende velden of de juiste velden aan elkaar zijn gekoppeld.
De velden Id en Product-id zijn mogelijk al geselecteerd vanwege bestaande relaties die in de sjabloon zijn ingebouwd.
-
Dubbelklik op de vierde pagina op de velden van de eerste tabel die u wilt zien en klik vervolgens op Volgende. In het kader van dit voorbeeld selecteert u de velden Id en Productnaam.
-
Op de vijfde pagina hebt u twee opties: de resultaten weergeven of het ontwerp van de query aanpassen. Klik in het kader van dit voorbeeld op Resultaten weergeven. Accepteer de voorgestelde naam voor de query en klik vervolgens op Voltooien.
Mogelijk wilt u het ontwerp van de query aanpassen om andere criteria toe te voegen, de sorteervolgorde te wijzigen of velden te verwijderen of toe te voegen. Lees de volgende sectie voor informatie over het wijzigen van een query voor niet-gerelateerde records of zie de koppelingen in de sectie Zie ook voor meer algemene informatie over het maken en wijzigen van query's.
Een query voor niet-gerelateerde records maken en wijzigen om op basis van meerdere velden te vergelijken
-
Klik op het tabblad Maken in de groep Query's op Wizard Query.
-
Dubbelklik in het dialoogvenster Nieuwe query op Wizard Niet-gerelateerde records.
-
Selecteer op de eerste pagina van de wizard de tabel met niet-gerelateerde records en klik op Volgende. Als u bijvoorbeeld een lijst wilt zien van Noordenwind-producten die nooit zijn verkocht, selecteert u de tabel Producten.
-
Selecteer op de tweede pagina de gerelateerde tabel en klik op Volgende. In het kader van dit voorbeeld selecteert u de tabel Orderinformatie.
-
Selecteer op de derde pagina de velden door middel waarvan de tabellen zijn gerelateerd en klik op < = > en vervolgens op Volgende. U kunt slechts één veld per tabel kiezen. In het kader van het voorbeeld selecteert u Id in de tabel Producten en Product-id in de tabel Orderinformatie. Controleer aan de hand van de tekst in het vak Overeenkomende velden of de juiste velden aan elkaar zijn gekoppeld. U kunt de resterende velden koppelen wanneer u de wizard hebt uitgevoerd.
De velden Id en Product-id zijn mogelijk al geselecteerd vanwege bestaande relaties die in de sjabloon zijn ingebouwd.
-
Dubbelklik op de vierde pagina op de velden van de eerste tabel die u wilt zien en klik vervolgens op Volgende. In het kader van dit voorbeeld selecteert u de velden Id en Productnaam.
-
Klik op de vijfde pagina op Het ontwerp aanpassen en klik vervolgens op Voltooien.
De query wordt geopend in de ontwerpweergave.
-
In het queryontwerpraster zijn de twee tabellen gekoppeld via de velden (in dit voorbeeld Id en Product-id) die u hebt opgegeven op de derde pagina van de wizard. Maak een join voor elk resterend paar gerelateerde velden door ze uit de eerste tabel (de tabel met niet-gerelateerde records) naar de tweede tabel te slepen. Sleep voor dit voorbeeld het veld Adviesprijs van de tabel Producten naar het veld Prijs per eenheid in de tabel Orderinformatie.
-
Dubbelklik op een join (de lijn tussen de velden) om het dialoogvenster Joineigenschappen weer te geven. Kies voor elke join de optie waarin alle records uit de tabel Producten worden opgenomen en klik op OK.
In het queryontwerpraster wordt nu aan het uiteinde van elke join een pijlpunt weergegeven.
1. Wanneer u de join tussen de velden Adviesprijs en Prijs per eenheid maakt, wordt de uitvoer van beide tabellen beperkt. Als queryresultaten worden alleen de records met overeenkomende gegevens in de velden in beide tabellen weergegeven.
2. Na het bewerken van de joineigenschappen wordt alleen de tabel waarnaar de pijl wijst, door de join beperkt. Alle records in de tabel vanwaar de pijl uitgaat, worden opgenomen in de queryresultaten.
Opmerking: Zorg ervoor dat alle pijlpunten op de joins in dezelfde richting wijzen.
-
Dubbelklik in de tabel met gerelateerde records (in dit voorbeeld de tabel Orderinformatie) op elk veld dat aan de eerste tabel is gekoppeld, met uitzondering van het veld dat u op de derde pagina van de wizard hebt gekozen (in dit geval het veld Product-id). Schakel voor elk van deze velden het selectievakje in de rij Weergeven uit en typ Is Null in de rij Criteria.
-
Voeg desgewenst criteria aan de andere queryvelden toe of maak berekende velden op basis van waarden uit de eerste tabel.
-
Klik op het tabblad Queryontwerp in de groep Resultaten op Uitvoeren.
Als queryresultaten verschijnen de namen van producten die geen deel uitmaken van bestaande orders.
Uw eigen query maken om niet-gerelateerde records te zoeken
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Dubbelklik op de tabel met niet-overeenkomende records en dubbelklik vervolgens op de tabel met gerelateerde records.
-
In het queryontwerpraster ziet u waarschijnlijk lijnen, ofwel joins, die de gerelateerde velden van de twee tabellen met elkaar verbinden. Als u geen joins ziet, maakt u deze door elk gerelateerd veld van de eerste tabel (de tabel met niet-gerelateerde records) naar de tweede tabel (de tabel met gerelateerde records) te slepen.
-
Dubbelklik op een join om het dialoogvenster Joineigenschappen te openen. Kies optie 2 voor elke join en klik op OK.
In het queryontwerpraster krijgen de joins een pijlpunt aan één kant.
Opmerking: Zorg ervoor dat alle joins in dezelfde richting wijzen. Joins zonder pijlpunten kunnen de query onuitvoerbaar maken en als de joins in verschillende richtingen wijzen, kan de query zeker niet worden uitgevoerd. De joins moeten van de tabel met niet-gerelateerde records af wijzen.
-
Dubbelklik in de tabel met niet-gerelateerde records op de velden die via de query moeten worden geretourneerd.
U kunt ook criteria opgeven voor een van deze velden of berekende velden maken.
-
Dubbelklik in de tabel met gerelateerde records op elk veld dat aan de eerste tabel is gekoppeld. Schakel voor elk van deze velden het selectievakje in de rij Weergeven uit en typ Is Null in de rij Criteria.
-
Klik op het tabblad Queryontwerp in de groep Resultaten op Uitvoeren.
Zie ook
Een eenvoudige selectiequery maken
Dubbele records zoeken met een query
De resultaten van verschillende query's combineren met een samenvoegquery