keymatch( ) 函数

请参阅

在索引标识或索引文件中搜索一个索引关键字。

语法

KEYMATCH(eIndexKey [, nIndexNumber [, nWorkArea | cTableAlias]])

参数

eIndexKey

指定要搜索的索引关键字。索引文件或索引标识中的索引关键字是由索引表达式决定的。用 INDEX 命令创建索引文件或索引标识时可以指定其索引表达式。KEY( ) 函数和 SYS(14) 命令都可返回索引文件或索引标识的索引表达式。有关创建索引文件、索引表达式以及索引关键字的详细内容,请参阅 INDEX
若省略所有可选参数,keymatch( ) 函数将在主控索引文件或主控引标识中搜索指定的索引关键字。如果不存在有效的主控索引文件或主控索引标识(例如,已用不包含任何参数的 SET ORDER TO 命令把表设置成了物理记录顺序),Visual FoxPro 将产生错误信息。

nIndexNumber

指定在哪一个索引文件或索引标识中搜索。通常情况下,若要搜索其他索引标识,nIndexNumber 一般是一个从 1 开始以 1 为步长递增的整数。
如 nIndexNumber 为 1,则搜索主控单项索引 (.IDX) 文件或主控索引标识(如果有)。
随着 nIndexNumber 的增大,依次搜索结构复合索引文件(如果有)中各个后续标识。各个标识的搜索次序取决于它们在结构复合索引中的创建顺序。
随着 nIndexNumber 的继续增大,在搜索结构复合索引文件中的所有标识后,将搜索打开的独立复合索引文件中的标识。各标识的搜索次序取决于它们在独立复合索引中的创建顺序。

若 nIndexNumber 大于打开的索引文件总数(包括 .IDX 单项索引文件、结构复合索引标识和独立的复合索引标识),Visual FoxPro 将产生错误信息。

nWorkArea | cTableAlias

用于搜索非当前工作区中的索引文件或标识。nWorkArea 指定工作区号,cTableAlias 指定表别名。若省略这两个参数,keymatch( ) 函数将搜索由当前工作区中的表打开的索引文件或标识。
如果指定的表别名不存在,Visual FoxPro 将产生错误信息。

返回值类型
逻辑型

说明
keymatch( ) 函数在索引标识或索引文件中搜索指定的索引关键字,若找到,则返回“真”(.T.);否则,返回“假”(.F.)。该函数可以用来防止重复的索引关键字。
keymatch( ) 函数运行完之后,仍把记录指针放置到运行该函数之前记录指针所指的记录上。