Возвращает последовательность сортировки для индекса или тега индекса.
Синтаксис:
IDXCOLLATE([cCDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])
Параметры:
cCDXFileName
Задает имя файла составного индекса. Это может быть файл структурного составного индекса, автоматически открываемый вместе с таблицей, или файл независимого составного индекса.
nIndexNumber
Задает индекс или тег индекса, для которого функция IDXCOLLATE( ) возвращает последовательность сортировки. По мере увеличения значения nIndexNumber от 1 до общего количества открытых файлов индексов и тегов индексов, функция IDXCOLLATE( ) возвращает последовательности сортировки в следующем порядке:
Если nIndexNumber больше общего числа открытых файлов простых индексов .IDX и тегов структурных составных и независимых составных индексов, возвращается пустая строка.
nWorkArea
Задает рабочую область таблицы, для которой функция IDXCOLLATE( ) возвращает последовательности сортировки файлов индексов и тегов индексов.
Если в заданной рабочей области нет открытых таблиц, IDXCOLLATE( ) возвращает пустую строку.
cTableAlias
Задает псевдоним таблицы, для которой функция IDXCOLLATE( ) возвращает последовательности сортировки файлов индексов и тегов индексов.
Если задан несуществующий псевдоним таблицы, Visual FoxPro генерирует сообщение об ошибке.
Результат:
Символьный.
Комментарии:
Функцию IDXCOLLATE( ) можно использовать для получения последовательности сортировки всех тегов в файлах многоэлементных составных индексах, это позволяет вам полностью удалить файл индекса и перестроить его в нужном виде, пользуясь последовательностью команд SET COLLATE и INDEX.
Следует отметить, что функция IDXCOLLATE( ) не нужна для правильной работы команды REINDEX, поскольку сведения о последовательностях сортировки имеются в существующих индексах и тегах индексов.
Подробнее об интернациональной поддержке в Visual FoxPro см. главу 20 " Разработка интернациональных приложений" Руководства разработчика.
Пример:
* В следующем примере открывается таблица customer в базе данных * testdata. Структура FOR ... ENDFOR используется для организации цикла, в * котором функция IDXCOLLATE( ) отображает последовательность * сортировки для каждого тега структурного индекса customer. На экран * выводится имя каждого тега структурного индекса вместе с его * последовательностью сортировки. CLOSE DATABASES OPEN DATABASE (HOME( ) + 'samples\data\testdata') USE Customer && Open customer table CLEAR FOR nCount = 1 TO 254 IF !EMPTY(TAG(nCount)) && Checks for tags in the index ? TAG(nCount) + ' ' && Display tag name ?? IDXCOLLATE(nCount) && Display collation sequence ELSE EXIT && Exit the loop when no more tags are found ENDIF ENDFOR