set key 命令

请参阅

根据索引关键字,指定访问记录的范围。

语法

SET KEY TO [eExpression1 | RANGE eExpression2 [, eExpression3]]
[IN cTableAlias | nWorkArea]

参数
eExpression1

允许使用相同的索引关键字访问一组记录。eExpression1 是单个索引关键字的值,所有索引关键字与 eExpression1 相匹配的记录都是可访问的。

RANGE eExpression2 [, eExpression3]

可以访问关键字值在一定范围内的记录。eExpression2 允许访问关键字大于等于 eExpression2 的记录,eExpression3 (前面用逗号分开)允许访问关键字值小于等于 eExpression3 的记录。对于同时包含 eExpression2 和 eExpression3 (用逗号分隔它们)的 set key 命令,其允许访问大于等于 eExpression2 且小于等于 eExpression3 的所有记录。
例如,CUSTOMER 表中有一个包含美国邮政编码的字符字段。如果该表在此字段上建立索引,就可以使用 SET KEY 来指定邮政编码的范围。

这个示例中,只有邮政编码在 43000 到 43999 范围内的记录出现在浏览窗口中。

CLOSE DATABASES
USE customer
SET ORDER TO zip
SET KEY TO '43000', '43999'


IN cTableAlias | nWorkArea

在指定工作区内打开的表中,允许访问一定范围的记录。
cTableAlias 指定工作区的别名,nWorkArea 指定工作区的编号。如果没有指定的表别名,Visual FoxPro 产生错误信息;如果省略工作区别名和编号,SET KEY 仅对当前选定工作区中的表进行操作。

说明


使用 SET KEY 限制表中可以访问的记录范围。表必须建立了索引,并且指定的索引关键字值必须与主索引文件或主标识的索引表达式有相同的数据类型。
发出不带任何参数的 SET KEY TO 命令,可以恢复访问表中所有记录。