I D X C O L L A T E 函 数
返回索引或索引标识的排序序列
语 法
IDXCOLLATE([ cCDXFileName ,] nIndexNumber [, nWorkArea |
cTableAlias ])
返 值 类 型
字符型
参 数 描 述
cCDXFileName
指 定 复 合 索 引 文 件 名 该 复 合 索 引 文 件 可 以 是 随 表 自 动 打 开 的 结 构 复 合 索 引文 件 也 可 以 是 独 立 的 复 合 索 引 文 件
nIndexNumber
指 定 索 引 或 索 引 标 识 IDXCOLLATE 返 回 其 排 序 序 列 当nIndexNumber 从 1 递 增 到 打 开 的 索 引 文 件 和 索 引 标 识 总 数 时IDXCOLLATE 按 如 下 次 序 返 回 索 引 或 索 引 标 识 的 排 序 序 列
-
首
先 返 回 单 项 索 引 .IDX 文 件 如 果 有 此 类 文 件 打 开 的 排 序 序 列 返 回的 排 序 序 列 取 决 于 USE 或 SET INDEX 中 包 含 的 单 项 索 引 文 件 的 序 列
-
然
后 返 回 结 构 复 合 索 引 如 果 存 在 中 标 识 的 排 序 序 列 标 识 的 排 序 序 列按 照 标 识 在 结 构 复 合 索 引 中 创 建 的 次 序 返 回
-
最
后 返 回 打 开 的 独 立 复 合 索 引 中 标 识 的 排 序 序 列 标 识 的 排 序 序 列 按 照 标识 在 独 立 的 复 合 索 引 中 创 建 的 顺 序 返 回
如果 nIndexNumber 大于打开的单项索引文件 结构复合索引标识和独立的复合索引标识的总数目 则返回空字符串
n W o rkArea
指 定 表 的 工 作 区 IDXCOLLATE 函 数 返 回 该 表 的 索 引 文 件 和 索 引 标 识
的 排 序 序 列
如果指定的工作区中没有打开的表 IDXCOLLATE 函数将返回空字符串
cTableAlias
指 定 表 的 别 名 IDXCOLLATE 返 回 该 表 的 索 引 文 件 和 索 引 标 识 的 排 序序 列
如果指定的表别名不存在 Visual FoxPro 产生错误信息
说 明
IDXCOLLATE 函数可以返回多项复合索引文件中每一标识的排序序列 这样只需使用一系列的 SET COLLATE 和 INDEX 命令 就可以完全删除一个索引文件 然后再正确地重建这个索引文件
附注 REINDEX 的某些功能并不需要 IDXCOLLATE 因为其排序序列信息已经存放在索引和索引标识中
有关 Visual FoxPro 国际化支持的详细内容 请参阅 Microsoft Visual FoxPro 6.0 中文版程序员指南 的第 十八章 开发国际化应用程序
示 例
下面示例先打开 testdata 数据库的 customer 表 然后使用 FOR...ENDFOR 创建一个循
环 在该循环中应用 IDXCOLLATE 函数来显示 customer 结构索引中每个索引标识的排序序列 每个结构索引标识的名称和它的排序序列一起显示
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata') USE Customer && 打开 customer 表
CLEAR
FOR nCount = 1 TO 254
IF !EMPTY(TAG(n Count)) && 检查索引标识
? TAG(nCount) + ' ' && 显示标识名
?? nCount && 显示排序序列
ELSE
EXIT && 在找到所有的标识之后退出循环
ENDIF ENDFOR
请 参 阅
SET COLLATE