Возвращает последовательность упорядочения для индекса или индексного тэга.

IDXCOLLATE([cCDXFileName,] nIndexNumber [, nWorkArea | cTableAlias])

Параметры

cCDXFileName

Определяет имя составного индексного файла. Составной индексный файл, который Вы определяете, может быть структурным составным индексным файлом, автоматически открываемым вместе с таблицей или независимым составным индексным файлом.
nIndexNumber

Определяет индекс или индексный тэг для которых IDXCOLLATE( ) возвращает последовательность упорядочения. IDXCOLLATE( ) возвращает последовательность упорядочения для индексов и индексных тэгов в порядке увеличения nIndexNumber от 1 до общего количества открытых индексных файлов и индексных тэгов:
  1. Последовательность упорядочения для единственного индекса индексных файлов .idx (если какой-то является открытым), возвращается в первую очередь. Порядок, в котором индексные файлы с единственнм индексом включены в команде USE или SET INDEX определяет, как будут возвращены последовательности упорядочения.

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

  3. Последовательности упорядочения для тэгов в любых открытых независимых составных индексах возвращаются в последнюю очередь. Последовательности упорядочения возвращаются для тэгов в порядке, в котором тэги созданы в независимых составных индексах.

Пустая строка возвращается если nIndexNumber больше чем общее количество открытых .idx файлов с единственным индексом и структурных составных и независимых составных индексных тэгов.
nWorkArea

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

Определяет псевдоним таблицы для который IDXCOLLATE( ) возвращает индексный файл и последовательность упорядочения для индексного тэга. Visual FoxPro генерирует сообщение об ошибке, если Вы определяете псевдоним таблицы, которого не существует.

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

Символьное

Замечания

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

Обратите внимание, что IDXCOLLATE( ) не требуется для надлежащего функционирования REINDEX , потому что данные о последовательности упорядочения присутствуют в существующих индексах и индексных тэгах.

Для дополнительной информации о многонациональной поддержке Visual FoxPro, см. Разработка Многонациональных Приложений .

Пример

Следующий пример открывает таблицу Customer в базе данных testdata . FOR ... ENDFOR используется, чтобы создать цикл в котором используется IDXCOLLATE( ) , чтобы вывести последовательности упорядочения каждого индексного тэга в структурном индексе Customer . Имя каждого структурного индексного тэга отображено вместе с его данными о последовательности упорядочения.

Скопировать код
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.
   ?? IDXCOLLATE(nCount)  && Display collation sequence.
   ELSE
      EXIT  && Exit the loop when no more tags are found.
   ENDIF
ENDFOR

См. Также