Функция FOUND()

Возвращает значение "истина" (.T.) в случае успешного выполнения команды CONTINUE, FIND, LOCATE или SEEK.

Синтаксис:

FOUND([nWorkArea | cTableAlias])

Параметры:
nWorkArea
Задает рабочую область таблицы, для которой функция FOUND( ) сообщает о результатах выполнения последней команды CONTINUE, FIND, LOCATE или SEEK.
Функция FOUND( ) возвращает значение "ложь" (.F.), если таблица в заданной рабочей области не открыта.
cTableAlias
Задает псевдоним таблицы, для которой FOUND( ) сообщает о результатах выполнения последней команды CONTINUE, FIND, LOCATE или SEEK.
Если задать несуществующий псевдоним таблицы, Visual FoxPro генерирует сообщение об ошибке.

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

Комментарии:
Функция FOUND( ) возвращает логическое значение, которое говорит о том, была ли успешной последняя выполненная команда CONTINUE, FIND, LOCATE или SEEK или перемещался ли указатель записи в связанной таблице. FOUND( ) возвращает значение "истина" (.T.), если поиск прошел успешно, в противном случае FOUND( ) возвращает "ложь" (.F.).
Если все необязательные аргументы опущены, функция FOUND( ) сообщает о результате выполнения последней команды CONTINUE, FIND, LOCATE или SEEK для таблицы, открытой в текущей рабочей области.
Совет. С помощью данной функции можно определить, есть ли в дочерней таблице запись, соответствующая некоторой родительской записи.

Пример:

* В следующем примере подсчитывается число покупателей в Германии.
SET TALK OFF
CLOSE DATABASES
OPEN DATABASE (HOME( ) + 'samples\data\testdata')
USE customer	&& Opens Customer table

STORE 0 TO gnCount
LOCATE FOR UPPER(country) = 'GERMANY'
DO WHILE FOUND( )
	gnCount = gnCount + 1
	CONTINUE
ENDDO
WAIT WINDOW 'Total customers from Germany: ';
	+ LTRIM(STR(gnCount)) NOWAIT

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