U kunt dubbele waarden in een veld in een Access-tabel voorkomen door een unieke index te maken. Een unieke index is een index die vereist dat elke waarde van het geïndexeerde veld uniek is.
Er zijn twee manieren waarop u een unieke index kunt maken:
-
Stel de eigenschap Geïndexeerd van het veld in op Ja (geen duplicaten) U kunt dit doen door de tabel te openen in ontwerpweergave. Deze methode is eenvoudig en een goede keuze als u slechts één veld tegelijk wilt wijzigen.
-
Een definitiequery maken waarmee de unieke index wordt gemaakt U kunt dit doen met behulp van SQL-weergave. Deze methode is niet zo eenvoudig als het gebruik van de ontwerpweergave, maar heeft wel een voordeel: u kunt de gegevensdefinitiequery opslaan en later opnieuw gebruiken. Dit is handig als u periodiek tabellen verwijdert en opnieuw maakt en unieke indexen wilt gebruiken voor sommige velden.
Wat wilt u doen?
Stel de eigenschap Geïndexeerd van een veld in op Ja (geen duplicaten)
-
Klik in het navigatiedeelvenster met de rechtermuisknop op de tabel met het veld en klik vervolgens op Ontwerpweergave.
-
Selecteer het veld dat u wilt controleren op unieke waarden.
-
Stel in het deelvenster Veldeigenschappen onder in de tabelontwerpweergave op het tabblad Algemeen de eigenschap Geïndexeerd in op Ja (geen duplicaten).
-
Sla de wijzigingen in de tabel op.
Opmerking: Als er al duplicaten in het veld voor uw tabelrecords voorkomen, wordt in Access een foutbericht (fout 3022) weergegeven wanneer u de tabelwijzigingen probeert op te slaan met de nieuwe index. U moet deze dubbele veldwaarden uit de tabelrecords verwijderen voordat u de nieuwe unieke index kunt instellen en opslaan.
Een unieke index voor een veld maken met behulp van een gegevensdefinitiequery
-
Klik op het tabblad Maken in de groep Query's op Queryontwerp.
-
Klik op het tabblad Ontwerpen voor query's in de groep Resultaten op de pijl onder Weergave en klik vervolgens op SQL-weergave.
-
Verwijder alle bestaande SQL uit de query. (In Access wordt waarschijnlijk alleen SELECT weergegeven; voordat u de bestaande tekst verwijdert.)
-
Typ of plak de volgende SQL in de query:
CREATE UNIQUE INDEX index_name
ON table (field); -
Vervang in de SQL de variabelen als volgt:
-
Vervang index_name door een naam voor uw index. Het is een goed idee om een naam te gebruiken waarmee u kunt bepalen waarvoor de index is bedoeld. Als de index er bijvoorbeeld voor moet zorgen dat telefoonnummers uniek zijn, kunt u deze unique_phone noemen.
-
Vervang de tabel door de naam van de tabel die het veld bevat dat moet worden geïndexeerd. Als de tabelnaam spaties of speciale tekens bevat, moet u de naam tussen vierkante haken plaatsen.
-
Vervang het veld door de naam van het veld dat moet worden geïndexeerd. Als de veldnaam spaties of speciale tekens bevat, moet u de naam tussen vierkante haken plaatsen.
-
-
Sla de query op en sluit deze.
-
Voer de query uit om de index te maken. Houd er rekening mee dat u de query kunt uitvoeren vanuit een macro met behulp van de macroactieSQL uitvoeren.