Als u specifieke gegevens uit een of meer bronnen wilt selecteren, kunt u een selectiequery gebruiken. Met een selectiequery kunt u alleen de gewenste gegevens ophalen en gegevens uit meerdere gegevensbronnen combineren. U kunt tabellen en andere selectiequery's gebruiken als gegevensbronnen voor een selectiequery. Dit onderwerp bevat een overzicht van selectiequery's en de stappen voor het maken van een selectiequery met behulp van de Wizard Query of in ontwerpweergave worden beschreven.
Zie het artikel Inleiding tot query's als u de voorbeelddatabase wilt gebruiken voor meer informatie over de werking van query's.
In dit artikel
Overzicht
Wanneer u gegevens wilt gebruiken, wilt u zelden alle gegevens van een tabel gebruiken. Wanneer u bijvoorbeeld gegevens uit een tabel contactpersonen wilt gebruiken, wilt u meestal alleen een bepaald record bekijken of misschien alleen het telefoonnummer. Soms wilt u gegevens uit meer dan één tabel combineren, zoals het combineren van klantgegevens met ordergegevens. Om de gegevens die u wilt gebruiken te selecteren, moet u een selectiequery gebruiken.
Een selectiequery is een databaseobject dat gegevens weergeeft in gegevensbladweergave. Een query slaat geen gegevens op, maar geeft gegevens weer die zijn opgeslagen in tabellen. Met een query kunnen gegevens uit een of meer tabellen, uit andere query's of een combinatie hiervan worden weergegeven.
De voordelen van het gebruik van een query
Met een query, kunt u:
-
alleen de gegevens van de velden waarin u bent geïnteresseerd weergeven. Wanneer u een tabel opent, ziet u alle velden. Een query is een handige manier om een selectie van velden op te slaan.
Opmerking: In een query wordt alleen naar gegevens verwezen, de gegevens worden niet opgeslagen. Wanneer u een query opslaat, slaat u geen kopie van de gegevens op.
-
Gegevens uit meerdere gegevensbronnen combineren. Een tabel toont gewoonlijk alleen gegevens die daarin zijn opgeslagen. Met een query kunt u kiezen uit de velden van verschillende bronnen en opgeven hoe de gegevens moeten worden gecombineerd.
-
Expressies gebruiken als velden. Zo kunt u de functie Datum als een veld gebruiken of kunt u de functie Opmaak gebruiken met een veld om te bepalen hoe de gegevens uit het veld worden weergegeven in de queryresultaten.
-
Records weergeven die voldoen aan criteria die u opgeeft. Wanneer u een tabel opent, ziet u alle records. Een query is een handige manier om een selectie van records op te slaan.
Basisstappen voor het maken van een selectiequery
U kunt een selectiequery maken met behulp van de wizard Query of door te werken in de Ontwerpweergave. Bepaalde ontwerpelementen zijn niet beschikbaar wanneer u de wizard gebruikt, maar u kunt deze elementen later toevoegen met behulp van de Ontwerpweergave. Hoewel de twee methoden enigszins van elkaar verschillen, zijn de basisstappen in hoofdlijnen hetzelfde:
-
Kies de tabellen of query's die u wilt gebruiken als gegevensbron.
-
Geef de velden op van de gegevensbronnen die u wilt opnemen.
-
Geef desgewenst criteria op voor het beperken van het aantal records dat de query als resultaat geeft.
Nadat u een selectiequery hebt gemaakt, voert u die uit om de resultaten te zien. Voor het uitvoeren van een selectiequery opent u deze in de Gegevensbladweergave. Als u de query opslaat, kunt u die opnieuw gebruiken wanneer u die nodig hebt, bijvoorbeeld als een gegevensbron voor een formulier, rapport of een andere query.
De Wizard Query gebruiken om een selectiequery maken
U kunt de Wizard Query gebruiken om automatisch een selectiequery te maken. Als u de wizard gebruikt, hebt u minder controle over de details van het ontwerp van de query's, maar u kunt de query gewoonlijk sneller maken dan wanneer u de wizard niet gebruikt. Bovendien kan de wizard een aantal eenvoudige ontwerpfouten ontdekken en u vragen een andere actie uit te voeren.
Voordat u begint
Als u velden uit gegevensbronnen gebruikt die niet aan elkaar zijn gerelateerd, vraagt de Wizard Query of u relaties wilt maken. De wizard opent het venster Relaties voor u, maar u moet de wizard opnieuw starten als u relaties bewerkt. Voordat u de wizard uitvoert, moet u daarom relaties maken die een query nodig heeft.
Lees het artikel Tabelrelaties gebruiken voor meer informatie over het maken van tabelrelaties.
De wizard Query gebruiken
-
Klik op het tabblad Maken in de groep Query's op Wizard Query.
-
Klik in het dialoogvenster Nieuwe query op Wizard Selectiequery en klik op OK.
-
Vervolgens kunt u velden toevoegen. U kunt maximaal 255 velden uit maximaal 32 tabellen of query's toevoegen.
Voer voor elk veld deze twee stappen uit:
-
Klik onder Tabellen/query's op de tabel of query die het veld bevat.
-
Dubbelklik onder Beschikbare velden op het veld om het toe te voegen aan de lijst Geselecteerde velden. Als u alle velden wilt toevoegen aan uw query, klikt u op de knop met de dubbele pijlen naar rechts (>>).
-
Wanneer u alle velden die u wilt gebruiken hebt toegevoegd, klikt u op Volgende.
-
-
Als u geen numerieke velden (velden die numerieke gegevens bevatten) hebt toegevoegd, gaat u verder met stap 9. Als u numerieke velden hebt toegevoegd, wordt u gevraagd of er met de query details of overzichtsgegevens moeten worden geretourneerd.
Voer een van de volgende handelingen uit:
-
Als u afzonderlijke records wilt bekijken, klikt u op Details en vervolgens op Volgende. Ga verder met stap 9.
-
Als u een overzicht wilt bekijken van numerieke gegevens, zoals gemiddelden, klikt u op Overzicht en vervolgens op Opties voor totalen.
-
-
Geef in het dialoogvenster Opties voor totalen op welke velden u wilt samenvatten en hoe u de gegevens wilt samenvatten. Alleen numerieke velden worden weergegeven.
Voor elk numeriek veld, kiest u een van de volgende functies:
-
Som De query geeft de som van alle waarden in het veld als resultaat.
-
Gem De query geeft het gemiddelde van de waarden in het veld als resultaat.
-
Min De query geeft de kleinste waarde in het veld als resultaat.
-
Max De query geeft de grootste waarde in het veld als resultaat.
-
-
Als u wilt dat het aantal records in een gegevensbron wordt opgenomen in de queryresultaten, selecteert u het juiste selectievakje Records tellen in gegevensbronnaam.
-
Klik op OK om het dialoogvenster Opties voor totalen te sluiten.
-
Als u geen datum/tijd-veld hebt toegevoegd aan de query, gaat u verder met stap 9. Als u een datum/tijd-veld hebt toegevoegd aan de query, wordt u in de wizard Query gevraagd hoe u de datumwaarden wilt groeperen. U hebt bijvoorbeeld een numeriek veld ('Prijs') en een datum/tijd-veld ('Transactietijd') toegevoegd aan de query en in het dialoogvenster Opties voor totalen opgegeven dat u de gemiddelde waarde van het numeriek veld 'Prijs' wilt bekijken. Omdat u een datum/tijd-veld hebt opgenomen, kunt u totaalwaarden berekenen voor elke unieke datum/tijd-waarde voor elke dag, elke maand, elk kwartaal of elk jaar.
Selecteer de periode die u wilt gebruiken om de datum/tijd-waarden te groeperen en klik vervolgens op Volgende.
Opmerking: In de Ontwerpweergave, kunt u een expressie gebruiken om te groeperen op een gewenste periode, maar de wizard biedt alleen deze opties.
-
Geef op de laatste pagina van de wizard een titel voor de query op, geef aan of u de query wilt openen of wijzigen en klik vervolgens op Voltooien.
Als u ervoor kiest om de query te openen, worden de geselecteerde gegevens in de query weergegeven in de gegevensbladweergave. Als u ervoor kiest om de query te wijzigen, wordt de query in de Ontwerpweergave geopend.
Een query maken in de ontwerpweergave
In de Ontwerpweergave kunt u handmatig een selectiequery maken. Wanneer u de Ontwerpweergave gebruikt, hebt u meer controle over de details van het ontwerp van de query, maar is het gemakkelijker om ontwerpfouten te maken en het kan langer duren dan met de wizard.
Een query maken
Stap 1: gegevensbronnen toevoegen
Wanneer u de ontwerpweergave gebruikt en gegevensbronnen wilt toevoegen, voegt u de gegevensbronnen en velden in afzonderlijke stappen toe. Als u wilt, kunt u later echter altijd meer gegevensbronnen toevoegen.
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Dubbelklik op elke gegevensbron die u wilt gebruiken of selecteer elke gegevensbron en klik vervolgens op Toevoegen.
Automatische joins
Wanneer u de gegevensbronnen toevoegt en er al onderlinge relaties voor de bronnen zijn gedefinieerd, worden deze relaties automatisch toegevoegd aan de query als joins. Met joins kunt u opgeven hoe gegevens van gerelateerde bronnen moeten worden gecombineerd. In Access wordt ook automatisch een join tussen twee tabellen gemaakt als deze velden hebben met compatibele gegevenstypen en een veld een primaire sleutel is.
U kunt de joins die in Access zijn gemaakt wijzigen. In Access wordt bepaald welk type join er wordt gemaakt op basis van de relatie die de join aangeeft. Als er een join wordt gemaakt, maar er geen gedefinieerde relatie is, maakt Access een inner join.
Als automatisch de juiste joins worden gemaakt wanneer u de gegevensbronnen toevoegt, kunt u verder gaan naar Stap 3: uitvoervelden toevoegen.
Dezelfde gegevensbron meerdere keren gebruiken
In bepaalde gevallen wilt u twee exemplaren van dezelfde tabel or query koppelen, dit is een self-join, hiermee kunt u records uit dezelfde tabel combineren als er overeenkomende waarden in de gekoppelde velden zijn. Stel dat u een tabel Werknemers hebt waarin het veld Rapporteert-aan voor elk werknemersrecord zijn of haar manager-ID weergeeft in plaats van de naam. U kunt een self-join gebruiken zodat de naam van de manager in het record van de werknemer wordt weergegeven.
Wanneer u een 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.
Stap 2: gerelateerde gegevensbronnen koppelen
Als er al een relatie bestaat tussen de gegevensbronnen die u toevoegt, wordt in Access automatisch een inner join voor elke relatie gemaakt. Als referentiële integriteit wordt afgedwongen, ziet u boven de joinlijn ook een '1' bij de tabel aan de 'één'-kant van een een-op-veel-relatie en een oneindigheidsteken (∞) bij de tabel aan de 'veel'-kant.
Als u query's aan uw query toevoegt en geen relatie tussen de query's hebt gemaakt, worden de joins tussen deze query's, of tussen query's en tabellen die niet gerelateerd zijn, niet automatisch gemaakt door Access. Als Access geen joins maakt wanneer u gegevensbronnen toevoegt, moet u ze meestal zelf toevoegen. Gegevensbronnen die niet gekoppeld zijn aan een andere gegevensbron kunnen leiden tot problemen met de queryresultaten.
U kunt ook het type van een join veranderen van een inner join naar een outer join, zodat uw query meer records bevat.
Een join toevoegen
-
Als u een join wilt toevoegen, sleept u een veld uit een gegevensbron naar het bijbehorende veld in een andere gegevensbron.
Er wordt een lijn tussen de twee velden weergegeven om aan te geven dat er een join is gemaakt.
Een join wijzigen
-
Dubbelklik op de join die u wilt wijzigen.
Het dialoogvenster Joineigenschappen wordt geopend.
-
Bekijk in het dialoogvenster Joineigenschappen de drie opties.
-
Klik op de optie van uw keuze en klik vervolgens op OK.
Nadat de joins klaar zijn, voegt u uitvoervelden toe. Dat zijn velden die gegevens bevatten die u in de queryresultaten wilt zien.
Stap 3: Uitvoervelden toevoegen
U kunt eenvoudig een veld toevoegen vanuit een van de gegevensbronnen die u in stap 1 hebt toegevoegd.
-
Om een veld toe te voegen, sleept u het veld uit een gegevensbron in het bovenste gedeelte van het queryontwerpvenster omlaag naar de rij Veld van het ontwerpraster in het onderste deelvenster van het queryontwerpvenster.
Wanneer u een veld op deze manier toevoegt, wordt de rij Tabel van het ontwerpraster automatisch ingevuld om de gegevensbron van het veld weer te geven.
Tip: Als u snel alle velden naar beneden op de rij Veld van het queryontwerpraster wilt toevoegen, dubbelklikt u op de naam van de tabel of query in het bovenste deelvenster om alle velden in die bron te markeren en sleept u ze allemaal tegelijk naar beneden op het ontwerpraster.
Een expressie gebruiken als een uitvoerveld
Als u berekeningen wilt uitvoeren of een functie wilt gebruiken om query-uitvoer te produceren, kunt u een expressie als uitvoerveld gebruiken. Een expressie kan gegevens uit een van de querygegevensbronnen gebruiken, evenals functies, zoals Opmaak of InStr, en kan ook constanten en rekenkundige operatoren bevatten.
-
Klik in een lege kolom in het queryontwerpraster met de rechtermuisknop in de rij Veld en klik vervolgens op In- en uitzoomen in het snelmenu.
-
Typ of plak de expressie in het vak In- en uitzoomen. Plaats vóór de expressie de naam die u wilt gebruiken voor de expressie-uitvoer, gevolgd door een dubbele punt. Als u de expressie de naam 'Laatst bijgewerkt' wilt geven, begint u de expressie met: Laatst bijgewerkt:.
Opmerking: U kunt een groot aantal dingen doen met behulp van expressies. Een uitgebreide uitleg van expressies valt buiten het kader van dit artikel. Zie het artikel Een expressie maken voor meer informatie over het maken van expressies.
Stap 4: criteria opgeven
Deze stap is optioneel.
U gebruikt criteria om het aantal records dat de query als resultaat geeft te beperken afhankelijk van of veldwaarden voldoen aan de criteria die u opgeeft.
Criteria opgeven voor een uitvoerveld
-
Typ in het queryontwerpraster, in de rij Criteria van het veld met waarden die u wilt beperken, een expressie waaraan de veldwaarden moeten voldoen om in uw resultaten te worden opgenomen. Als u bijvoorbeeld een query wilt beperken zodat alleen records waarin de waarde van het veld Plaats Las Vegas is, worden opgenomen, typt u Las Vegas in de rij Criteria onder dat veld.
Zie het artikel Voorbeelden van querycriteria voor meer voorbeelden van querycriteria voor verschillende gegevenssoorten.
-
Geef alternatieve criteria op in de rij Of onder de rij Criteria.
Als u alternatieve criteria opgeeft, kan de waarde van een veld voldoen aan een van de vermelde criteria en worden opgenomen in het queryresultaat.
Criteria voor meerdere velden
U kunt criteria gebruiken met meerdere velden. Wanneer u dit doet, moet aan alle criteria in een bepaalde rij Criteria of Of worden voldaan voor het record wordt opgenomen.
Criteria opgeven met behulp van een veld dat u niet als uitvoer wilt gebruiken
U kunt een veld toevoegen aan het queryontwerp en de gegevens van het veld niet in de queryuitvoer opnemen. U doet dit als u waarden van het veld wilt gebruiken om de queryresultaten te beperken, maar niet de veldwaarden wilt zien.
-
Voeg het veld toe aan het ontwerpraster.
-
Schakel het selectievakje uit in de rij Weergeven voor het veld.
-
Geef criteria op zoals u voor een uitvoerveld zou doen.
Stap 5: gegevens samenvatten
Deze stap is optioneel.
Het kan handig zijn om gegevens samen te vatten, vooral als de gegevens numeriek zijn. U wilt bijvoorbeeld de gemiddelde prijs of de totale verkoop bekijken.
Als u gegevens in een query wilt samenvatten, gebruikt u de rij Totaal. Standaard wordt de rij Totaal niet weergegeven in de ontwerpweergave.
-
Open de query in de ontwerpweergave en klik op het tabblad Queryontwerp in de groep Weergeven/verbergen op Totalen.
Access-weergaven in de rij Totaal in het queryontwerpraster.
-
Voor elk veld dat u wilt samenvatten, selecteert u de te gebruiken functie in de rij Totaal. De beschikbare functies zijn afhankelijk van het gegevenstype van het veld.
Zie het artikel Kolomtotalen weergeven in een gegevensblad met behulp van een totalenrij voor meer informatie over de functionaliteit van totaalrijen in query's.
Stap 6: de resultaten bekijken
Als u de queryresultaten wilt bekijken, klikt u op het tabblad Queryontwerp op Uitvoeren. De resultaten van de query worden weergegeven in de gegevensbladweergave.
Als u verdere wijzigingen aan wilt brengen in de query, klikt u op Start > Weergave > Ontwerpweergave om terug te schakelen naar de ontwerpweergave.
Wijzig uw velden, expressies of criteria en voer de query opnieuw uit, totdat de gegevens worden opgehaald die u wilt.