Puede evitar valores duplicados en un campo de una tabla de Access creando un índice único. Un índice único es un índice que requiere que cada valor del campo indexado sea único.
Hay dos formas básicas de crear un índice único:
- Establezca la propiedad Indizado del campo en Sí (sin duplicados) Para ello, abra la tabla en la vista Diseño. Este método es fácil y una buena opción si solo desea cambiar un campo a la vez.
- Crear una consulta de definición de datos que cree el índice único Puede hacerlo mediante la vista SQL. Este método no es tan fácil como usar la vista Diseño, pero tiene una ventaja: puede guardar la consulta de definición de datos y volver a usarla más tarde. Esto es útil si elimina y vuelve a crear tablas periódicamente y desea usar índices únicos en algunos de los campos.
¿Qué desea hacer?
- Establecer la propiedad Indizado de un campo en Sí (sin duplicados)
- Crear un índice único para un campo mediante una consulta de definición de datos
Establecer la propiedad Indizado de un campo en Sí (sin duplicados)
En el panel de navegación, haga clic con el botón secundario en la tabla que contiene el campo y, después, haga clic en Vista Diseño.
Seleccione el campo que quiera asegurarse de que tiene valores únicos.
En el panel Propiedades de campo, en la parte inferior de la vista de diseño de la tabla, en la pestaña General, establezca la propiedad Indizado en Sí (sin duplicados).
Guarde los cambios en la tabla.
Nota
Si ya existen duplicados en el campo para los registros de tabla, Access muestra un mensaje de error (Error 3022) al intentar guardar los cambios de tabla con el nuevo índice. Tendrá que quitar esos valores de campo duplicados de los registros de tabla antes de poder establecer y guardar el nuevo índice único.
Crear un índice único para un campo mediante una consulta de definición de datos
En el grupo Consultas de la pestaña Crear, haga clic en Diseño de la consulta.
En la pestaña Diseño para consultas, en el grupo Resultados , haga clic en la flecha de Vista y, después, en Vista SQL.
Elimine todo el SQL existente de la consulta. (Lo más probable es que Access solo muestre SELECCIONAR; antes de eliminar el texto existente).
Escriba o pegue el siguiente SQL en la consulta:
CREATE UNIQUE INDEX index_name ON table (field);En SQL, reemplace las variables de la siguiente manera:
- Reemplace index_name por un nombre para el índice. Es una buena idea usar un nombre que le ayude a determinar para qué es el índice. Por ejemplo, si el índice es para asegurarse de que los números de teléfono son únicos, puede llamarlo unique_phone.
- Reemplace tabla por el nombre de la tabla que contiene el campo que se va a indexar. Si el nombre de la tabla tiene espacios o caracteres especiales, debe escribirlo entre corchetes.
- Reemplace campo por el nombre del campo que se va a indexar. Si el nombre del campo tiene espacios o caracteres especiales, debe escribir el nombre entre corchetes.
Guarde y cierre la consulta.
Ejecute la consulta para crear el índice. Tenga en cuenta que puede ejecutar la consulta desde una macro mediante la acción de macro RunSQL.