Возвращает логическое значение, характеризующее, что данный индексный Тэг создан с опцией DESCENDING (сортировка "по-убыванию") или ключевая опция DESCENDING была использована в командах управления индексными файлами USE, SET INDEX, или SET ORDER.

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

Параметры

CDXFileName

определяет имя составного индексного файла (.cdx) CDXFileName. Составной индексный файл может быть структурным индексным файлом, который открывается автоматически, вместе с открытием Таблицы данных, или независимым составным индексным файлом (имя которого не совпадает с именем файла таблицы данных), который должен быть открыт отдельной командой SET INDEX....

nIndexNumber

Определяет номер индексного Тэга (из составного индексного файла) или номер простого индексного файла (.idx), который тестируется рассматриваемой функцией DESCENDING( ). nIndexNumber - это некоторое целое число, большее или равное 1, которое зависит от порядка открытия индексных файлов и соответствующих Тэгов.

Если значение параметра nIndexNumber = 1, то возвращается характеристика главного простого индексного файла (.idx), или главного индексного Тэга (если таковой имеется).

Для больших значений параметра nIndexNumber >1, возвращается характеристика Тэга составного индексного файла, в котором индексные Тэги размещаются в порядке их создания, это относится как к независимым составным индексным файлам, так и к структурным индексным файлам.

Порядок размещения индексных Тэгов принимается следующий: сначала размещаются индексные Тэги структурного индексного файла, после этого следуют индексные Тэги независимого составного индексного файла. В каждом подмножестве индексных Тэгов из указанных индексных файлов они размещаются в порядке их создания.

Рассматриваемая функция может вернуть пустое значение (empty string)если задается значение параметра nIndexNumber, которое больше общего числа открытых простых индексных файлов и двух подмножеств Тэгов структурных и независимых составных индексных файлов. И так далее.

nWorkArea| cTableAlias

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

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

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

Логического типа (Logical)

Expand imageКомментарии

Вы можете установить "убывающий" порядок следования записей вашей таблицы следующими способами:

  • Вы можете включить ключевую опцию DESCENDING в соответствующей команде INDEX, при создании некоторого индексного Тэга в составном индексном файле (.cdx.)

  • Вы можете использовать ключевую опцию DESCENDING при использовании команд открытия таблиц и индексных файлов: USE, SET INDEX или SET ORDER, это справедливо также для простых индексных файлов (.idx).

Функция DESCENDING( ) может применяться в том случае, когда индекс создается с использованием указанной ключевой опции. DESCENDING( ) возвращает значение = True (.T.), если соответствующий индексный Тэг создан с указанием ключевой опции DESCENDING .

DESCENDING( ) может также определить характеристику рассматриваемого Тэга в других случаях. DESCENDING( ) возвращает значение = true (.T.), если ключевая опция DESCENDING использовалась при открытии индексных файлов в командах: USE, SET INDEX, или SET ORDER, а также при использовании простых индексных файлов (.idx).

Если рассматриваемая функция вызывается без указания дополнительных параметров, DESCENDING( ) возвращает запрашиваемую характеристику текущего индексного Тэга для таблицы, открытой в текущей рабочей области. Если выполнена команда установки физического размещения записей в Таблице (SET ORDER TO), то данная функция возвращает значение DESCENDING( ) = false (.F.).

Expand imageПример

В следующем примере: открывается таблица с именем customer, которая закреплена за контейнером базы данных: testdata.Оператор цикла FOR ... ENDFOR используется для перебора всех индексных Тэгов, открываемых вместе с открытием таблицы (предполагается наличие структурного индексного файла) customer.cdx . Для каждого индексного Тэга проверяется наличие возможности обратной (по-убыванию) сортировки записей таблицы.

  CopyCode imageКопировать Код
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) + ' Descending? ' && Display tag name
?? DESCENDING(nCount) && Display descending status
ELSE
EXIT && Exit the loop when no more tags are found
ENDIF
ENDFOR

Expand imageСм. также