Для того, что предохраниться от появления дублирующих значений в одном или более полях таблицы, вы можете создать первичный индекс или индекс-кандидат, используя выражение, которое содержит такие поля. Когда вы включите одно или более полей в индексное выражение, Visual FoxPro генерирует индексный ключ, основанный на этих полях для каждой записи, что уникально идентифицирует запись. Когда вводится новая запись, вы можете сравнить индексные ключи для новой записи с существующими с целью определения существует ли уже записи с такими же данные и тем самым предохраниться от ввода дубликатов в таблицу.

ЗамечаниеСовет

Если ваша таблица является частью базы данных, используйте первичный индекс или индекс-кандидат. Если ваша таблица является свободной таблицей или уже имеет первичный индекс, вы должны создать индекс-кандидат.

Например, предположим, что у вас имеется таблица, которая хранить коды облрастей и номера телефонов в двух соседних полях. Приведенная ниже таблица иллюстрирует такую ситуацию.

Area code Phone number

206

444-nnnn

206

555-nnnn

313

444-nnnn

Обе колонки, и area code, и phone number, содержать значения в соответствующих колонках. Однако, ни один телефонный номер не повторяется, поскольку объединение двух полей будут содержить полный телефонный номер. Более того, если первичный индекс или индекс-кандидат включает оба поля в индексном выражении, строка в примере не сможет получить дублирующее значение. Поэтому, если вы попытаетесь ввести телефонный номер, содержащий тот же самый номер зоны и номер, уже существующий в одной из строк, Visual FoxPro будет изымать дубликат.

Смотрите также