Вы можете предотвратить дублирование значений в поле в таблице Access, создав уникальный индекс. Уникальный индекс — это индекс, который требует, чтобы каждое значение индексированного поля было уникальным.
Существует два основных способа создания уникального индекса:
-
Задайте для свойства Indexed поля значение Да (нет дубликатов) Это можно сделать, открыв таблицу в Конструктор. Этот метод является простым и хорошим выбором, если вы хотите изменить только одно поле за раз.
-
Создание запрос определения данных, создающего уникальный индекс Это можно сделать с помощью режим SQL. Этот метод не так прост, как использование конструктора, но имеет преимущество: вы можете сохранить запрос определения данных и использовать его позже. Это полезно, если вы периодически удаляете и повторно создаете таблицы и хотите использовать уникальные индексы для некоторых полей.
В этой статье
Задайте для свойства Indexed поля значение Да (нет дубликатов)
-
В области навигации щелкните правой кнопкой мыши таблицу, содержащую поле, и выберите пункт Конструктор.
-
Выберите поле, которое нужно убедиться в уникальных значениях.
-
В области Свойства поля в нижней части представления конструктора таблицы на вкладке Общие задайте для свойства Indexed значение Да (Нет дубликатов).
-
Сохраните изменения в таблице.
Примечание: Если дубликаты уже существуют в поле записей таблицы, при попытке сохранить изменения таблицы с новым индексом в Access отобразится сообщение об ошибке (ошибка 3022). Вам потребуется удалить эти повторяющиеся значения полей из записей таблицы, прежде чем можно будет задать и сохранить новый уникальный индекс.
Создание уникального индекса для поля с помощью запроса определения данных
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
На вкладке Конструктор для запросов в группе Результаты щелкните стрелку в разделе Вид и выберите пункт Представление SQL.
-
Удалите все существующие SQL из запроса. (Доступ, скорее всего, просто отображает select; перед удалением существующего текста.)
-
Введите или вставьте следующий sql в запрос:
CREATE UNIQUE INDEX index_name
ON table (field); -
В SQL замените переменные следующим образом:
-
Замените index_name именем индекса. Рекомендуется использовать имя, которое помогает определить, для чего предназначен индекс. Например, если индекс предназначен для того, чтобы убедиться, что номера телефонов уникальны, можно присвоить ему имя unique_phone.
-
Замените таблицу именем таблицы, содержащей индексированные поля. Если имя таблицы содержит пробелы или специальные символы, необходимо заключить имя в квадратные скобки.
-
Замените поле именем поля для индексирования. Если имя поля содержит пробелы или специальные символы, необходимо заключить имя в квадратные скобки.
-
-
Сохраните и закройте запрос.
-
Выполните запрос, чтобы создать индекс. Обратите внимание, что запрос можно выполнить из макроса с помощью макрокоманды RunSQL.