Возвращает выражение ключа индекса для тега индекса или файла индекса.
KEY([CDXFileName,] nIndexNumber [, nWorkArea | cTableAlias]) |
Параметры
- CDXFileName
-
Задает имя файла составного индекса. Функция KEY( ) возвращает выражения ключа индекса для тега индекса .CDX. Заданный файл составного индекса может быть структурным составным индексом, который автоматически открывается вместе с таблицей, или файлом независимого составного индекса.
- nIndexNumber
-
Указывает, какое выражение ключа индекса следует возвратить.
Команды USE и SET INDEX обе поддерживают список файлов индексов, что позволяет открывать для одной таблицы несколько индексов. В этот список можно включать файлы простых индексов .IDX, файлы структурных составных индексов или файлы независимых составных индексов в любых сочетаниях.
Числовое выражение nIndexNumber определяет, для какого именно открытого файла индекса должно быть возвращено выражение индекса. По мере того как nIndexNumber увеличивается от 1 до общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, функция KEY( ) возвращает выражения индекса в следующем порядке:
-
Вначале возвращаются выражения индекса для файлов простых индексов .IDX (если они существуют и открыты). Порядок их возвращения определяется порядком включения файлов простых индексов в команду USE или SET INDEX.
-
Затем возвращаются выражения индекса для каждого тега структурного составного индекса (если таковой имеется). Они возвращаются в том порядке, в каком эти теги создавались в структурном составном индексе.
-
Наконец, возвращаются выражения индекса для каждого тега во всех открытых независимых составных индексах. Они возвращаются в том порядке, в каком эти теги создавались в независимых составных индексах.
Если nIndexNumber больше общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, возвращается пустая строка.
-
- nWorkArea
-
Задает номер рабочей области таблицы, для которой вы хотите получить выражения ключей индекса.
- cTableAlias
-
Задает псевдоним таблицы, для которой вы хотите получить выражения ключей индекса.
Если ни у одной таблицы нет заданного вами псевдонима, Visual FoxPro генерирует сообщение об ошибке.
Если аргументы nWorkArea и cTableAlias опущены, возвращаются выражения индекса для таблицы, открытой в текущей рабочей области.
Возвращаемое значение
Символьное
Примечания
Выражение ключа индекса задается при создании тега индекса или файла индекса с помощью команды INDEX. Это выражение определяет, как будет отображаться таблица и как будет происходить доступ к ней, когда этот тег индекса или файл индекса откроется в качестве главного управляющего тега или файла индекса.
Подробнее о создании тегов индексов, файлов индексов и выражений ключей индекса смотрите INDEX.
Пример
В следующем примере открывается таблица customer
в базе данных testdata
. Структура FOR ... ENDFOR используется для организации цикла, в котором функция KEY( ) отображает выражение индекса для каждого тега структурного индекса customer
. На экран выдается имя каждого тега структурного индекса вместе с его выражением индекса.
Copy Code | |
---|---|
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE Customer && Open customer table CLEAR FOR nCount = 1 TO TAGCOUNT( ) IF !EMPTY(TAG(nCount)) && Checks for tags in the index ? TAG(nCount) + ' ' && Display tag name ?? KEY(nCount) && Display index expression ELSE EXIT && Exit the loop when no more tags are found ENDIF ENDFOR |