Без перемещения указателя записи таблицы ищет в индексированной таблице первую встретившуюся запись, чей индексный ключ соответствует указанному выражению.
INDEXSEEK(eExpression [, lMovePointer [, nWorkArea | cTableAlias [, nIndexNumber | cIDXIndexFileName | cTagName]]]) |
Параметры
- eExpression
-
Указывает выражение индексного ключа, которое вы желаете найти с помощью поиска INDEXSEEK().
- lMovePointer
-
Определяет, будет ли перемещен указатель записи таблицы к соответсвующей условию записи. если lMovePointer равен .T. и соответствующая условию запись существует, указатель записи таблицы смещается к этой записи. Если же lMovePointer равен .T., но соответствующая условию запись не существует, указатель записи никуда не перемещается. Если lMovePointer равен .F. или вообще опущен, указатель записи никуда не смещается, даже если соответствующая условию запись присутствует в таблице.
- nWorkArea
-
Указывает рабочую область таблицы, в которой производится поиск по индексному ключу.
- cTableAlias
-
Указывает псевдоимя таблицы, в которой производится поиск. Если вы опустите nWorkArea и cTableAlias, то поиск будет производится в текущей выбранной области.
- nIndexNumber
-
Указывает номер индексного файла или тэга, используемого для поиска индексного ключа. nIndexNumber ссылается на индексный файл в том порядке, в котором он перечислен в USE или SET INDEX. Открытые .IDX файлы нумеруются с единицы в том порядке, в котором они показались в USE или SET INDEX. Тэги в структурном .cdx файле (если таковой существует) нумеруются в порядке, в каком они были созданы. И, наконец, тэги в любых открытых независимых .cdx файлах нумеруются в порядке, в котором они были созданы. Для получения более подробной информации нумерации индексов, смотрите SET ORDER.
- cIDXIndexFileName
-
Указыает .idx файл, который используется для поиска индексного ключа.
- cTagName
-
Определяет тэг .cdx файла, который используется для поиска индексного ключа. Имя тэга может быть взято из структурного .cdx файла или любого открытогоо независмого .cdx файла.
Замечание
Файл .idx file имеет преимущество если одновременно существуют дублирующие друг друга имена .idx файла и тэга.
Возвращаемое значение
Логическое значение
Примечания
INDEXSEEK( ) возвращает true (.T.), если соответствие найдено; в противном случае возвращается false (.F.). Вы можете использовать INDEXSEEK( ) только с теми таблицами, у которых установлено индексного упорядочивание или вы можете искать только индексный ключ. Соответствие должно быть точным, только если SET EXACT не был установлен в OFF.
INDEXSEEK( ) предоставляет быстрый путь для поиска записей без перещения указателя таблицы. Вследствие того, что указатель не перемещается, правила и триггеры не исполняюстя. Если INDEXSEEK( ) возвратит true (.T.), указывающий, что найдена соответствующая условию запись, вы можете выполнить INDEXSEEK( ) повторно со вторым параметром lMovePointer, установленным в true (.T.) для смещения указателя к соответствующей условию записи.
INDEXSEEK( ) возвращает false (.F.), когда вы пытаетесь найти значение в записи, созданной самой последней (созданной через INSERT INTO или APPEND BLANK) до перемещения указателя. Вы можете использовать команду GO BOTTOM, чтобы INDEXSEEK( ) смогла найти запись, созданную последней.
Смотрите также
Справочное руководство
Команда INDEXФункция KEYMATCH( )
Команда LOCATE
Команда SEEK
Функция SEEK( )