Определяет, успешно ли завершилась последняя выполненная команда CONTINUE, FIND, LOCATE, или SEEK и был ли перемещен указатель записи в связанной с ней таблице.

Подсказка:
Вы можете использовать функцию FOUND( ) для того, чтобы определить наличие в дочерней таблице записи, соответствующей записи в родительской таблице.

FOUND([nWorkArea | cTableAlias])

Параметры

nWorkArea

Определяет рабочую область с таблицей, в которой выполнялась последняя команда CONTINUE, FIND, LOCATE, или SEEK.
cTableAlias

Определяет алиас таблицы, в которой выполнялась последняя команда CONTINUE, FIND, LOCATE, или SEEK.
Замечание:
Если вы указываете алиас несуществующей таблицы, Visual FoxPro генерирует сообщение об ошибке.

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

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

Замечания

Если вы вызываете функцию FOUND( ) без аргументов, функция FOUND( ) оперирует с таблицей, открытой в текущей рабочей области.

Примеры

Следующий пример находит и подсчитывает количество всех клиентов, для которых поле Country в таблице Customer содержит значение "GERMANY". Команда CLOSE DATABASES закрывает все базы данных, а затем команда OPEN DATABASE открывает базу данных примеров Visual FoxPro - TestData.dbc. Команда USE открывает таблицу Customer.

Команда STORE запоминает значение 0 в переменной gnCount. Команда LOCATE отыскивает первую запись, для которой поле Country содержит значение  "GERMANY". Цикл DO WHILE увеличивает значение gnCount на 1 и использует команду CONTINUE для выполнения последующих операций LOCATE. Когда записей, совпадающих с критерием поиска, больше не находится, отображается общее количество клиентов.

  Скопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\TestData')
USE Customer
STORE 0 TO gnCount
LOCATE FOR UPPER(Country)='GERMANY'
DO WHILE FOUND()
gnCount = gnCount + 1
CONTINUE
ENDDO
? "Total customers from Germany: "+LTRIM(STR(gnCount))

См.также