È possibile impedire valori duplicati in un campo di una tabella di Access creando un indice univoco. Un indice univoco è un indice che richiede che ogni valore del campo indicizzato sia univoco.
Esistono due modi di base per creare un indice univoco:
-
Impostare la proprietà Indicizzato del campo su Sì (duplicati non ammessi) A questo scopo, aprire la tabella in visualizzazione Struttura. Questo metodo è facile e rappresenta una buona scelta se si vuole modificare un solo campo alla volta.
-
Creare un query di definizione dei dati che crea l'indice univoco A questo scopo, usare Visualizzazione SQL. Questo metodo non è semplice come usare la visualizzazione Struttura, ma ha un vantaggio: è possibile salvare la query di definizione dei dati e usarla di nuovo in un secondo momento. Questa funzionalità è utile se si eliminano e si ricreano periodicamente tabelle e si vogliono usare indici univoci in alcuni campi.
Per saperne di più
Impostare la proprietà Indicizzato di un campo su Sì (duplicati non ammessi)
-
Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla tabella che contiene il campo e quindi scegliere Visualizzazione Struttura.
-
Selezionare il campo che si vuole verificare contenga valori univoci.
-
Nel riquadro Proprietà campo nella parte inferiore della visualizzazione Struttura tabella impostare la proprietà Indicizzato su Sì (Duplicati non ammessi) nella scheda Generale.
-
Salvare le modifiche apportate alla tabella.
Nota: Se sono già presenti duplicati nel campo per i record della tabella, Access visualizza un messaggio di errore (errore 3022) quando si prova a salvare le modifiche alla tabella con il nuovo indice. È necessario rimuovere i valori dei campi duplicati dai record della tabella prima di poter impostare e salvare il nuovo indice univoco.
Creare un indice univoco per un campo usando una query di definizione dei dati
-
Nel gruppo Query della scheda Crea fare clic su Struttura query.
-
Nel gruppo Risultati della scheda Struttura per le query fare clic sulla freccia sotto Visualizza e quindi su Visualizzazione SQL.
-
Eliminare tutto il codice SQL esistente dalla query. È probabile che access visualizzi semplicemente SELECT, prima di eliminare il testo esistente.
-
Digitare o incollare il codice SQL seguente nella query:
CREATE UNIQUE INDEX index_name
ON table (field); -
In SQL sostituire le variabili nel modo seguente:
-
Sostituire index_name con un nome per l'indice. È consigliabile usare un nome che consenta di determinare a cosa serve l'indice. Ad esempio, se l'indice è per assicurarsi che i numeri di telefono siano univoci, è possibile assegnarle un nome unique_phone.
-
Sostituire la tabella con il nome della tabella che contiene il campo da indicizzare. Se il nome della tabella contiene spazi o caratteri speciali, è necessario racchiudere il nome tra parentesi quadre.
-
Sostituire il campo con il nome del campo da indicizzare. Se il nome del campo contiene spazi o caratteri speciali, è necessario racchiudere il nome tra parentesi quadre.
-
-
Salvare e chiudere la query.
-
Eseguire la query per creare l'indice. Si noti che è possibile eseguire la query da una macro usando l'azione di macro EseguiSQL.