SET KEY 命 令

SET KEY 命 令 - 图1SET KEY 命 令 - 图2根据索引关键字 指定访问记录的范围

语 法

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

参 数 描 述

eExpression1

SET KEY 命 令 - 图3SET KEY 命 令 - 图4SET KEY 命 令 - 图5允 许 使 用 相 同 的 索 引 关 键 字 访 问 一 组 记 录 eExpression1 是 单 个 索 引 关 键 字的 值 所 有 索 引 关 键 字 与 eExpression1 相 匹 配 的 记 录 都 是 可 访 问 的

RANGE [ **,**eExpression2 eExpression3 ]

SET KEY 命 令 - 图6SET KEY 命 令 - 图7SET KEY 命 令 - 图8SET KEY 命 令 - 图9SET KEY 命 令 - 图10SET KEY 命 令 - 图11SET KEY 命 令 - 图12SET KEY 命 令 - 图13可 以 访 问 关 键 字 值 在 一 定 范 围 内 的 记 录 eExpression2 允 许 访 问 关 键 字 大 于等 于 eExpression2 的 记 录 eExpression3 前 面 用 逗 号 分 开 允 许 访 问 关 键字 值 小 于 等 于 eExpression3 的 记 录 对 于 同 时 包 含 eExpression2eExpression3 用 逗 号 分 隔 它 们 SET KEY 命 令 - 图14 的 SET KEY 命 令 其 允 许 访 问 大 于 等 于eExpression2 且 小 于 等 于 eExpression3 的 所 有 记 录

SET KEY 命 令 - 图15SET KEY 命 令 - 图16SET KEY 命 令 - 图17SET KEY 命 令 - 图18例如 CUSTOMER 表中有一个包含美国邮政编码的字符字段 如果该表在此字段上建立索引 就可以使用 SET KEY 来指定邮政编码的范围

SET KEY 命 令 - 图19SET KEY 命 令 - 图20在下例中 只有邮政编码在 40000 到 43999 范围内的记录才出现在窗口中

CLOSE DATABASES

USE customer

SET ORDER TO postalcode

SET KEY TO RANGE '40000', '43999' BROWSE

IN cTableAlias | nWorkArea

SET KEY 命 令 - 图21SET KEY 命 令 - 图22SET KEY 命 令 - 图23SET KEY 命 令 - 图24SET KEY 命 令 - 图25在 指 定 工 作 区 内 打 开 的 表 中 允 许 访 问 一 定 范 围 的 记 录 cTableAlias 指 定 工作 区 的 别 名 nWorkArea 指 定 工 作 区 的 编 号 如 果 没 有 指 定 的 表 别 名 Visual

SET KEY 命 令 - 图26SET KEY 命 令 - 图27SET KEY 命 令 - 图28FoxPro 产 生 错 误 信 息 如 果 省 略 工 作 区 别 名 和 编 号 SET KEY 仅 对 当 前 选 定工 作 区 中 的 表 进 行 操 作

说 明

SET KEY 命 令 - 图29SET KEY 命 令 - 图30SET KEY 命 令 - 图31使用 SET KEY 限制表中可以访问的记录范围 表必须建立了索引 并且指定的索引关键字值必须与主索引文件或主标识的索引表达式有相同的数据类型

SET KEY 命 令 - 图32SET KEY 命 令 - 图33发出不带任何参数的 SET KEY TO 命令 可以恢复访问表中所有记录

请 参 阅

INDEX , KEY ( ) , SET FILTER