Probeer het zelf
Om de benodigde antwoorden te vinden, maakt u meestal query's waarmee informatie wordt verzameld uit meerdere tabellen of een combinatie van tabellen en query's.
Aan de slag met joins
Soms moet u gegevens uit meerdere bronnen (tabel of query) gebruiken om een vraag te beantwoorden. U wilt bijvoorbeeld bekijken hoeveel klanten in een bepaalde regio een specifiek product hebben besteld.
Als u meerdere gegevensbronnen toevoegt, worden in Access de bestaande, gedefinieerde relaties tussen de gegevensbronnen gebruikt of worden er joins tussen de gegevensbronnen gemaakt voor querydoeleinden. Een join is een type relatie tussen gegevensbronnen in een query.
Opmerking: Joins zijn tijdelijk en worden alleen aan de query gekoppeld. Als u vaak dezelfde join tussen tabellen maakt, kunt u een permanente relatie hiertussen maken.
Inner joins
De meeste joins zijn inner joins. Outer joins worden besproken in Query's maken met outer joins.
Met een inner join worden alleen gegevens van één bron geretourneerd als er overeenkomende records in de andere bron worden gevonden. Als u bijvoorbeeld informatie over producten en orders opvraagt, ziet u alleen gegevens voor producten met een overeenkomende order.
Self-joins
Met een self-join verbindt u twee exemplaren van dezelfde tabel of query. Hiermee kunt u records uit dezelfde tabel combineren als er overeenkomende waarden in de gekoppelde velden zijn.
U hebt bijvoorbeeld een werknemerstabel waarin alle werknemers in de organisatie, inclusief managers, worden weergegeven. De tabel bevat het veld Rapporteert aan, dat de id van de manager van de werknemer bevat.
Id |
Achternaam |
Voornaam |
Rapporteert aan |
---|---|---|---|
1 |
Plant |
Fenna |
5 |
2 |
Zuidwijk |
Jacobje |
|
3 |
Kuijken |
Wander |
10 |
4 |
Steen |
Julia |
5 |
5 |
de Graaf |
Jimmy |
2 |
6 |
Neumann |
Roelf |
10 |
7 |
Veenhuizen |
Ger |
10 |
8 |
Beukema |
Maria |
10 |
9 |
Roossien |
Johanna |
5 |
10 |
Nolet |
Kylie |
3 |
Als u de naam van de manager van een werknemer wilt zoeken, zoekt u de werknemer in de tabel, de manager-id in het veld Rapporteert aan en zoekt u vervolgens de id van de manager op in bijbehorende veld Werknemers. Nancy rapporteert bijvoorbeeld aan de manager met werknemer-id 5, Jimmy de Graaf.
Als u deze taak wilt automatiseren, voegt u de tabel Werknemers twee keer toe aan uw query en maakt u vervolgens een self-join. Wanneer u de gegevensbron nog een keer toevoegt, wordt in Access _1 toegevoegd aan de naam van het tweede exemplaar. Als u bijvoorbeeld de tabel Werknemers twee keer toevoegt, krijgt het tweede exemplaar de naam Werknemers_1. Als u de naam van de managers van elke werknemer wilt weergeven, maakt u een join tussen het veld Rapporteert aan in de tabel Werknemers en het veld Werknemer-id in de tabel Werknemers_1.
1. Gegevensbronnen toevoegen
-
Selecteer Maken > Queryontwerp.
Voeg alle benodigde tabellen en query's toe als gegevensbron. (Maak u geen zorgen. Als u een gegevensbron vergeet, kunt u deze later toevoegen.)
De gegevensbronnen bevatten mogelijk tabellen waaruit u informatie wilt weergeven (zoals een producttabel) en tabellen met de benodigde informatie voor criteria.
Bestaande, opgeslagen query's zijn ook beschikbaar als gegevensbronnen. Als u bijvoorbeeld al een query hebt gemaakt waarmee wordt gezocht naar alle orders in een bepaalde maand, gebruikt u deze query en de producttabel om alle verkochte producten in een bepaalde maand weer te geven.
2. Gerelateerde gegevensbronnen koppelen
-
Als u zelf een join wilt toevoegen, sleept u een veld uit een gegevensbron naar het bijbehorende veld in een andere gegevensbron. Standaard wordt in Access een inner join gemaakt.
Voor de meeste relaties wordt in Access een inner join gemaakt. Als u hebt opgegeven dat referentiële integriteit moet worden afgedwongen, wordt deze ook opgenomen. Maar in sommige gevallen wordt de benodigde join niet gemaakt. Als u bijvoorbeeld bestaande query's toevoegt aan de nieuwe query en geen relaties hebt gemaakt, worden er niet automatisch joins gemaakt.
3. De query voltooien
-
Volg de gebruikelijke stappen voor het maken van een query: voeg uitvoervelden toe, voeg criteria toe en voer de query uit of sla deze op. Zie Basisquery's maken voor meer informatie hierover.