Dit artikel maakt deel uit van een reeks artikelen over Access SQL. In dit artikel wordt besproken hoe u een WHERE-component opstelt en worden met voorbeelden de verschillende technieken toegelicht die u in een WHERE-component kunt gebruiken.
In een SQL-instructie geeft de WHERE-component criteria op waaraan veldwaarden moeten voldoen zodat de records waarin de waarden staan, in de queryresultaten worden opgenomen.
Voor een overzicht van Access SQL raadpleegt u het artikel Access SQL: basisbegrippen, woordenlijst en syntaxis.
In dit artikel
Resultaten beperken met criteria
Wanneer u gegevens wilt gebruiken om het aantal records te beperken dat in een query wordt geretourneerd, kunt u criteria gebruiken. Een querycriterium is vergelijkbaar met een formule: het is een tekenreeks die kan bestaan uit veldverwijzingen, operatoren en constanten. Querycriteria zijn een type expressie.
In de volgende tabel ziet u enkele voorbeelden van criteria en wordt kort uitgelegd hoe deze werken.
Criteria |
Beschrijving |
>25 and <50 |
Dit criterium is van toepassing op een numeriek veld, bijvoorbeeld Prijs of EenhedenInVoorraad. Dit criterium geeft als resultaat records waarvoor geldt dat de velden voor Prijs of EenhedenInVoorraad een waarde groter dan 25 en kleiner dan 50 hebben. |
DateDiff ("jjjj", [Geboortedatum], Date()) > 30 |
Dit criterium is van toepassing op een datum/tijd-veld, zoals Geboortedatum. Er worden alleen records in het queryresultaat opgenomen waar het aantal jaar tussen de geboortedatum van een persoon en de huidige datum groter is dan 30. |
Is null |
Dit criterium kan op elk type veld worden toegepast om records weer te geven waarvan de veldwaarde null is. |
Zoals in de vorige tabel is te zien, kunnen criteria veel van elkaar verschillen, afhankelijk van het gegevenstype van het veld waarop de criteria van toepassing zijn en uw specifieke vereisten. Sommige criteria zijn eenvoudig en bevatten basisoperatoren en -constanten. Andere criteria zijn complex en bevatten functies, speciale operatoren en veldverwijzingen.
Belangrijk: Als een veld met een statistische functie wordt gebruikt, kunt u voor dat veld geen criteria opgeven in een WHERE-component. In plaats daarvan gebruikt u een HAVING-component om criteria voor velden met statistische functies op te geven. Raadpleeg de artikelen Access SQL: basisbegrippen, woordenlijst en syntaxis en HAVING, component voor meer informatie.
Syntaxis van WHERE-component
U gebruikt querycriteria in de WHERE-component van een SELECT-instructie.
Een WHERE-component heeft de volgende basissyntaxis:
WHERE field = criterion
U wilt bijvoorbeeld het telefoonnummer van een klant opzoeken, maar herinnert u alleen de achternaam van de klant: Bagel. In plaats van alle telefoonnummers in uw database te doorzoeken, kunt u een WHERE-component gebruiken om de resultaten te beperken, zodat u makkelijker het gewenste telefoonnummer kunt vinden. Als we ervan uitgaan dat achternamen worden opgeslagen in een veld met de naam LastName, ziet uw WHERE-component er ongeveer als volgt uit:
WHERE [LastName]='Bagel'
Opmerking: U hoeft de criteria in uw WHERE-component niet te baseren op de equivalentie van waarden. U kunt andere vergelijkingsoperatoren gebruiken, zoals groter dan (>) of kleiner dan (<). Bijvoorbeeld WHERE [Price]>100.
De WHERE-component gebruiken om gegevensbronnen te combineren
Soms wilt u gegevensbronnen combineren die op velden zijn gebaseerd met overeenkomende gegevens, maar die 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.
U kunt geen join maken tussen velden met verschillende gegevenstypen. Als u gegevens wilt combineren uit twee gegevensbronnen die zijn gebaseerd op waarden in velden met verschillende gegevenstypen, maakt u een WHERE-component waarin één veld wordt gebruikt als criterium voor het andere veld, met behulp van het sleutelwoord LIKE.
Stel dat u gegevens uit tabel1 en tabel2 wilt gebruiken, maar alleen wanneer de gegevens in field1 (een tekstveld in tabel1) overeenkomen met de gegevens in field2 (een nummerveld in tabel2). Uw WHERE-component ziet er dan ongeveer als volgt uit:
WHERE field1 LIKE field2
Raadpleeg het artikel Voorbeelden van querycriteria voor meer informatie over hoe u criteria maakt om in een WHERE-component te gebruiken.