Ищет в таблице первое появление записи, индексный ключ которой соответствует общему выражению, затем перемещает указатель на соответствующую запись.
![]() |
---|
Visual FoxPro не поддерживает операцию поиска для бинарных индексов. |
SEEK eExpression [ORDER nIndexNumber | IDXIndexFileName | [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]] |
Параметры
- eExpression
- Определяет индексный ключ, поиск которого осуществляет SEEK. eExpression может иметь значение null.
- ORDER nIndexNumber
- Определяет номер индексного файла или тэга, который используется для поиска индексного ключа. nIndexNumber относится к индексным файлам в порядке их перечисления в командах USE или SET INDEX. Открытые .idx-файлы нумеруются в первую очередь, в порядке их появления в командах USE или SET INDEX. Тэги структурного .cdx-файла (если существует) нумеруются во вторую очередь и в порядке их создания. Наконец, тэги любых открытых независимых .cdx-файлов нумеруются в последнюю очередь в порядке их создания. См. Команду SET ORDER для подробной информации о нумерации индексов.
- ORDER IDXIndexFileName
- Определяет .idx-файл, который используется для поиска индексного ключа.
- ORDER [TAG] TagName [OF CDXFileName ]
- Определяет тэг .cdx-файла, который используется для поиска индексного ключа. Имя тэга может быть взято из структурного .cdx-файла или любого открытого независимого .cdx-файла. Если существуют идентичные имена тэгов в открытых независимых .cdx-файлах, используйте предложение OF CDXFileName для определения .cdx-файла, содержащего данный тэг.
Обратите внимание:
.idx-файл имеет приоритет при наличии дубликатов имен .idx-файла и тэга.
- ASCENDING
- Определяет, что таблица просматривается в возрастающем порядке.
- DESCENDING
- Определяет, что таблица просматривается в порядке убывания.
- IN nWorkArea
- Определяет номер рабочей области просматриваемой таблицы.
- IN cTableAlias
- Определяет псевдоним просматриваемой таблицы. Если Вы опускаете IN nWorkArea и IN cTableAlias , просматривается таблица в текущей рабочей области.
Замечания
Вы можете использовать SEEK только с индексированными таблицами, и Вы можете осуществлять поиск только по индексному ключу. Соответствие поиска должно быть точным, если SET EXACT не установлено в OFF.
Если SEEK находит вхождение индексного ключа в записи, RECNO( ) возвращает номер записи вхождения, FOUND( ) возвращает истину (.T)., и EOF( ) возвращает ложь (.F.).
Если вхождение ключа не найдено, RECNO( ) возвращает количество записей в таблице плюс 1, FOUND( ) возвращает ложь (.F)., и EOF( ) возвращает истину (.T.).
Если включено SET NEAR, указатель записи позиционируется немедленно после записи с самым близким индексным ключом. Если SET NEAR выключен, указатель позиционируется в конец файла. В любом случае, RECNO () возвращает номер самой близкой записи.
Пример
В следующем примере, таблица "Клиенты" открывается и индексируется по полю Company. Используется SEEK, чтобы найти индексное ключевое выражение, которое соответствует значению, содержащемуся в переменной gcSeekVal
.
![]() | |
---|---|
CLOSE DATABASES |
См. Также
Другие Ресурсы
КомандыEOF( ) Функция
FOUND( ) Функция
INDEX Команда
INDEXSEEK( ) Функция
LOCATECommand
RECNO( ) Функция
SEEK( ) Функция
SET EXACT Команда
SET NEAR Команда