Probeer het zelf
Soms moet u een query maken om gegevens op te halen uit gegevensbronnen die geen directe een-op-een- of een-op-veel-relatie hebben.
Tussenliggende tabellen gebruiken om gegevensbronnen in query 's te verbinden
Wanneer u een query uitvoert, worden in Access de relaties gebruikt die u hebt gemaakt tussen de tabellen en worden de verbindingen tussen andere gegevensbronnen afgeleid en gemaakt. Als de benodigde relatie voor een query niet bestaat, verbindt u de tabellen als onderdeel van de query.
U wilt bijvoorbeeld bekijken hoeveel orders u hebt ontvangen voor producten van verschillende leveranciers. De tabel Leveranciers is niet gekoppeld aan de tabel Inkoopordergegevens, die de product-id's en hoeveelheidsinformatie bevat. De tabel inkooporders is echter gekoppeld aan de tabel Inkoopordergegevens.
Tip: Als u deze relatie mogelijk nodig hebt buiten de query die u maakt, kunt u het beste een tussenliggende relatie maken die u later kunt gebruiken. Zie Veel-op-veelrelaties maken voor meer informatie hierover.
Als u geen tussenliggende tabel in uw database wilt maken, gebruikt u de tabel Inkooporders als tussenliggende tabel in uw query. Voeg de tabel Leveranciers toe aan de linkerkant van de tabel Inkooporders en maak een verbinding.
De tabel Inkooporders verbindt de twee afzonderlijke tabellen Leveranciers en Inkoopordergegevens. Verbind de tabellen met velden (zoals Id in de tabel Leveranciers en Leverancier-id in de tabel Inkooporders) die voldoen aan de volgende criteria:
-
De twee velden hebben overeenkomende of compatibele gegevenstypen. U kunt bijvoorbeeld niet een tekstveld verbinden met een numeriek veld.
-
Met de velden worden overeenkomende, unieke records in elke tabel aangegeven. U wilt bijvoorbeeld niet twee velden Achternaam verbinden omdat achternamen niet altijd uniek zijn.
-
De velden zorgen ervoor dat de juiste records resulteren. Als u bijvoorbeeld leverancier-id koppelt aan aankoop-id, krijgt u mogelijk overeenkomsten als de id's vergelijkbaar zijn. Maar de resultaten zijn niet logisch omdat de leverancier-id niets te maken heeft met de aankoop-id. Een betere keuze is om de id van de tabel Leverancier te koppelen aan de leverancier-id in de tabel Inkooporders. De geretourneerde records zijn logisch omdat beide velden de leverancier identificeren.
Stappen
Voer de volgende stappen uit, ongeacht de vraag of uw database een tussenliggende tabel bevat of dat u deze alleen wilt gebruiken in uw query:
-
Voeg de tussenliggende tabel toe aan uw query tussen de twee niet-verbonden tabellen.
-
Maak de benodigde verbindingen met de tussenliggende tabel.
Voor verbindingen kunnen alle geschikte typen joins worden gebruikt, maar deze moeten zijn verbonden via velden die voldoen aan de criteria die eerder in deze module zijn beschreven.
-
Voltooi de query.
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.
Opmerking: U hoeft de tussenliggende tabel niet op te nemen in de resultaten. Deze moet alleen deel uitmaken van de gegevensbronnen van de query, zodat de gegevens automatisch kunnen worden verbonden.