INDEXSEEK( ) 函数

请参阅

在一个索引表中搜索第一次出现的某个记录,该记录的索引关键字与指定的表达式匹配,可以不移动记录指针。

语法

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 命令中列出的索引文件。在 USE 或 SET INDEX 命令中打开的 .IDX 文件列为第一个。在结构 .cdx 文件(如果存在)中的标识是按创建顺序编号的。最后,任何打开的独立 .cdx 文件中的标识是按创建顺序编号的。有关索引编号的详细信息,请参阅 SET ORDER

cIDXIndexFileName

指定用于搜索索引关键字的一个 .idx 文件。

cTagName

指定一个 .cdx 文件的标识,该文件用于搜索索引关键字。标识名可以来自一个结构 .cdx 文件,或任何打开的独立 .cdx 文件。

注意 如果 .cdx 文件和标识名重名,则优先使用 .cdx 文件。

附注

如果匹配记录找到了,则 INDEXSEEK()返回“真” (.T.);否则返回“假” (.F.)。只能将 INDEXSEEK()用于索引排序设置的表,而且只能搜索一个索引关键字。除非 SET EXACT 设置为 OFF,否则匹配必须严格。

INDEXSEEK()可以在不移动记录指针的情况下快速搜索一个记录。由于不移动记录指针,就不执行规则和触发器。如果 INDEXSEEK()返回“真” (.T.),则表明找到了一个匹配记录,可以再次使用 INDEXSEEK(?,并且将第二个参数lMovePointer 设置为“真” (.T.),以便将记录指针移动到匹配记录。