Просматривает тег индекса или файл индекса в поисках ключа индекса.

KEYMATCH(eIndexKey [, nIndexNumber [, nWorkArea | cTableAlias]])

Параметры

eIndexKey

Задает ключ индекса, который ищет функция KEYMATCH( ). Ключи индекса в файле индекса или теге индекса определяются выражением индекса. Выражение индекса задается при создании файла индекса или тега индекса с помощью команды INDEX. Для возвращения выражений индекса, относящихся к файлам индексов и тегам индексов, можно пользоваться функциями KEY( ) и SYS(14). Подробнее о создании файлов индексов, выражений индекса и ключей индекса смотрите Команда INDEX.

Если функция KEYMATCH( ) выдана без параметров, она ищет заданный ключ индекса в главном файле индекса или главном теге индекса. Если главный файл индекса или тег индекса отсутствует (например, если вы выдали команду SET ORDER TO без параметров, чтобы организовать таблицу в физическом порядке записей), Visual FoxPro генерирует сообщение об ошибке.

nIndexNumber

Указывает, в каком именно файле индекса или теге индекса должен вестись поиск. Обычно nIndexNumber является целым числом; сначала он равен 1, а затем наращивается на 1 для последовательного просмотра остальных тегов индексов.

Если nIndexNumber равен 1, просматривается главный файл простого индекса .IDX или главный тег индекса (если он имеется).

По мере увеличения nIndexNumber последовательно просматриваются теги структурного составного индекса (если он существует). Теги просматриваются в том порядке, в каком они создавались в структурном составном индексе.

Если nIndexNumber все увеличивается и все теги структурного составного индекса просмотрены, начинается поиск среди тегов открытых независимых составных индексов. Эти теги просматриваются в том порядке, в каком они создавались в независимых составных индексах.

Если nIndexNumber больше общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, генерируется сообщение об ошибке.

nWorkArea| cTableAlias

Задает поиск в файлах или тегах индексов, открытых в другой рабочей области. nWorkArea задает номер рабочей области, а cTableAlias псевдоним таблицы. Если номер рабочей области и псевдоним опущены, функция KEYMATCH( ) просматривает файлы или теги индексов для таблицы, открытой в текущей рабочей области.

Если ни у одной таблицы нет заданного вами псевдонима, Visual FoxPro выдает сообщение об ошибке.

Expand imageВозвращаемое значение

Логическое

Expand imageПримечания

Функция KEYMATCH( ) просматривает тег индекса или файл индекса в поисках конкретного ключа индекса и возвращает значение "истина" (.T.), найдя ключ индекса; в противном случае KEYMATCH( ) возвращает "ложь" (.F.). Функцию KEYMATCH( ) можно использовать для предотвращения дублирования ключей индекса.

Функция KEYMATCH( ) возвращает указатель записи, указывающий на запись, у которой он располагался до выдачи функции KEYMATCH( ).

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