Просматривает индексированную таблицу в поисках первого вхождения записи, ключ индекса которой совпадает с заданным выражением. Выдача функции SEEK( ) эквивалентна последовательной выдаче команды SEEK и функции FOUND( ).
![]() |
---|
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.
Примечание
Если существуют тег и файл .IDX с одинаковыми именами, приоритет имеет файл .IDX.
Возвращаемое значение
Logical. Когда искомая запись найдена, функция SEEK( ) возвращает значение "Истина" (.T.) и указатель записи перемещается на найденную запись. Если поиск завершился неудачно, функция SEEK( ) возвращает "Ложь" (.F.), и указатель записи устанавливается в конец файла, если командой SET NEAR выполнена установка OFF или на запись с самым близким индексным ключом, если SET NEAR установлена в ON.
Замечания
Функция SEEK() может быть использована для поиска записей в таблице по установленному управляющему индексу, или, если управляющий индекс не установлен, он задается третьим параметром nIndexNumber, cIDXIndexFileName или cTagName. Механизм сравнения чувствителен к установке SET EXACT.
Если аргументы nIndexNumber, IDXIndexFileName и cTagName опущены, функция SEEK( ) использует для поиска ключа индекса главный управляющий индекс или тег.
Установка SET KEY игнорируется, если SEEK( ), использует неактивный индекс.
Пример
![]() | |
---|---|
CLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE customer ORDER cust_id && Opens Customer table ? SEEK('CHOPS') && Returns .T., record found |
Смотрите также
Справочное руководство
Команда LOCATEКоманда SEEK
Команда SET NEAR
Команда SET ORDER
Команда SET KEY
Функция EOF( )
Функция FOUND( )
Функция INDEXSEEK( )