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

NoteПримечание

Visual FoxPro не поддерживает операции поиска для двоичных индексов.

SEEK(eExpression [, nWorkArea | cTableAlias
   [, nIndexNumber | cIDXIndexFileName | cTagName]])

Параметры

eExpression

Задает выражение ключа индекса, который вы собираетесь искать с помощью функции SEEK( ).

nWorkArea

Задает номер рабочей области таблицы, в которой ведется поиск ключа индекса.

cTableAlias

Задает псевдоним таблицы, в которой ведется поиск.

Если аргументы nWorkArea и cTableAlias опущены, поиск ведется в таблице, которая открыта в текущей рабочей области.

nIndexNumber

Задает номер файла индекса или тега индекса, используемого для поиска ключа индекса. nIndexNumber указывает файлы индекса в том порядке, в котором они перечислены в команде USE или SET INDEX. Сначала нумеруются открытые файлы .idx в том порядке, в котором они фигурируют в команде USE или SET INDEX. Затем нумеруются теги в файле структурного индекса .CDX (если он существует) в порядке их создания. Наконец, нумеруются теги во всех открытых независимых файлах .CDX в порядке их создания. Для более подробной информации смотрите Команда SET ORDER.

cIDXIndexFileName

Задает файл .IDX, используемый для поиска ключа индекса.

cTagName

Задает тег файла .CDX, используемый для поиска ключа индекса. Имя тега может быть взято из файла структурного индекса .CDX или из любого файла независимого индекса .CDX.

NoteПримечание

Если существуют тег и файл .IDX с одинаковыми именами, приоритет имеет файл .IDX.

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

Logical. Когда искомая запись найдена, функция SEEK( ) возвращает значение "Истина" (.T.) и указатель записи перемещается на найденную запись. Если поиск завершился неудачно, функция SEEK( ) возвращает "Ложь" (.F.), и указатель записи устанавливается в конец файла, если командой SET NEAR выполнена установка OFF или на запись с самым близким индексным ключом, если SET NEAR установлена в ON.

Expand imageЗамечания

Функция SEEK() может быть использована для поиска записей в таблице по установленному управляющему индексу, или, если управляющий индекс не установлен, он задается третьим параметром nIndexNumber, cIDXIndexFileName или cTagName. Механизм сравнения чувствителен к установке SET EXACT.

Если аргументы nIndexNumber, IDXIndexFileName и cTagName опущены, функция SEEK( ) использует для поиска ключа индекса главный управляющий индекс или тег.

Установка SET KEY игнорируется, если SEEK( ), использует неактивный индекс.

Expand imageПример

  CopyCode imageСкопировать код
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer ORDER cust_id  && Opens Customer table
? SEEK('CHOPS')  && Returns .T., record found

Expand imageСмотрите также