Функция CANDIDATE()

Возвращает значение "истина", если тег индекса является тегом индекса-кандидата; в противном случае возвращает "ложь".

Синтаксис:

CANDIDATE([nIndexNumber] [, nWorkArea | cTableAlias])

Параметры:
nIndexNumber
Задает номер тега индекса, для которого функция CANDIDATE( ) возвращает статус индекса-кандидата. Функция CANDIDATE( ) возвращает статус индекса-кандидатав соответствии с увеличением номера nIndexNumber от 1 до общего количества тегов структурного составного или независимого составного индекса в следующем порядке:

  1. Сначала возвращается статус индекса-кандидата для каждого тега структурного составного индекса (если таковой имеется). Статус индекса-кандидата возвращается для тегов в порядке их создания в структурном индексе.
  2. В конце возвращается статус индекса-кандидата для каждого тега в каждом из открытых независимых составных индексов. Статус индекса-кандидата возвращается для тегов в порядке их создания в независимом составном индексе.
Если номер nIndexNumber опущен, функция CANDIDATE( ) проверяет, не является ли тег главного управляющего индекса тегом индекса-кандидата. Если тег главного контрольного индекса отсутствует, CANDIDATE( ) возвращает значение "ложь".
nWorkArea
Задает рабочую область тега индекса, заданного номером nIndexNumber.
cTableAlias
Задает псевдоним тега индекса, заданного номером nIndexNumber.
Если опустить оба аргумента nWorkArea и cTableAlias, функция CANDIDATE( ) проверит тег индекса в выбранной в данный момент рабочей области ѕ не является ли он тегом индекса-кандидата.

Результат:
Логический

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

Пример:

* В следующем примере открывается таблица customer в базе данных
* testdata. Команда FOR ... ENDFOR используется для создания цикла, в
* котором проверяется статус индекса-кандидата каждого тега-индекса в
* структурном индексе таблицы customer. Имя каждого структурного
* индекса и статус индекса-кандидата выводятся на экран.

CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer	  && Open customer table

FOR nCount = 1 TO 254
	IF !EMPTY(TAG(nCount))  && Checks for tags in the index
	? TAG(nCount)  && Display tag name
	? CANDIDATE(nCount)  && Display candidate status
	ELSE
		EXIT  && Exit the loop when no more tags are found
	ENDIF
ENDFOR

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 27.11.2002