Возвращает выражение ключа индекса для тега индекса или файла индекса.

KEY([CDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])

Параметры

CDXFileName

Задает имя файла составного индекса. Функция KEY( ) возвращает выражения ключа индекса для тега индекса .CDX. Заданный файл составного индекса может быть структурным составным индексом, который автоматически открывается вместе с таблицей, или файлом независимого составного индекса.

nIndexNumber

Указывает, какое выражение ключа индекса следует возвратить.

Команды USE и SET INDEX обе поддерживают список файлов индексов, что позволяет открывать для одной таблицы несколько индексов. В этот список можно включать файлы простых индексов .IDX, файлы структурных составных индексов или файлы независимых составных индексов в любых сочетаниях.

Числовое выражение nIndexNumber определяет, для какого именно открытого файла индекса должно быть возвращено выражение индекса. По мере того как nIndexNumber увеличивается от 1 до общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, функция KEY( ) возвращает выражения индекса в следующем порядке:

  1. Вначале возвращаются выражения индекса для файлов простых индексов .IDX (если они существуют и открыты). Порядок их возвращения определяется порядком включения файлов простых индексов в команду USE или SET INDEX.

  2. Затем возвращаются выражения индекса для каждого тега структурного составного индекса (если таковой имеется). Они возвращаются в том порядке, в каком эти теги создавались в структурном составном индексе.

  3. Наконец, возвращаются выражения индекса для каждого тега во всех открытых независимых составных индексах. Они возвращаются в том порядке, в каком эти теги создавались в независимых составных индексах.

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

nWorkArea

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

cTableAlias

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

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

Если аргументы nWorkArea и cTableAlias опущены, возвращаются выражения индекса для таблицы, открытой в текущей рабочей области.

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

Символьное

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

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

Подробнее о создании тегов индексов, файлов индексов и выражений ключей индекса смотрите INDEX.

Expand imageПример

В следующем примере открывается таблица customer в базе данных testdata. Структура FOR ... ENDFOR используется для организации цикла, в котором функция KEY( ) отображает выражение индекса для каждого тега структурного индекса customer. На экран выдается имя каждого тега структурного индекса вместе с его выражением индекса.

  CopyCode imageCopy 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

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