C D X 函 数 - 图1C D X 函 数 - 图2C D X 函 数

C D X 函 数 - 图3C D X 函 数 - 图4根据指定的索引位置编号 返回打开的复合索引 (.CDX) 文件名称

语 法

C D X ( nIndexNumber [, n W orkArea | cTableAlias ])

返 值 类 型字符型 参 数 描 述

nIndexNumber

C D X 函 数 - 图5下 列 规 则 适 用 于 具 有 一 个 结 构 复 合 索 引 以 及 一 个 或 多 个 复 合 索 引 的 表

C D X 函 数 - 图6C D X 函 数 - 图7C D X 函 数 - 图8nIndexNumber 说 明

1

CDX C D X 函 数 - 图9

C D X 函 数 - 图10

C D X 函 数 - 图11 返回结构索引文件名 C D X 函 数 - 图12

一般与表名相

2

CDX C D X 函 数 - 图13

返回 USE 命令 INDEX

子句或 SET

INDEX

命令指定的第一个复合索引文件名

3

CDX C D X 函 数 - 图14

C D X 函 数 - 图15 返回第二个复合索引文件名 依次类推

大于打开

CDX 文件的数

CDX C D X 函 数 - 图16

C D X 函 数 - 图17 返回空字符串

C D X 函 数 - 图18C D X 函 数 - 图19C D X 函 数 - 图20C D X 函 数 - 图21下列规则适用于没有结构复合索引而有一个或多个复合索引的表

C D X 函 数 - 图22C D X 函 数 - 图23nIndexNumber 说 明

  1. CDX 返回 USE 命令 INDEX 子句或 SET INDEX

    命令指定的第一个复合索引文件名

  2. C D X 函 数 - 图24C D X 函 数 - 图25C D X 函 数 - 图26C D X 函 数 - 图27C D X 函 数 - 图28C D X 函 数 - 图29C D X 函 数 - 图30C D X 函 数 - 图31CDX

    返回第二个复合索引文件名 依次类推

大于打开 CDX

文件的数目

n W o rkArea

CDX 返回空字符串

C D X 函 数 - 图32C D X 函 数 - 图33C D X 函 数 - 图34C D X 函 数 - 图35指 定 表 所 在 的 工 作 区 编 号 CDX 函 数 返 回 该 工 作 区 中 打 开 表 的 复 合 索 引文 件 的 文 件 名

cTableAlias

C D X 函 数 - 图36C D X 函 数 - 图37C D X 函 数 - 图38指 定 表 的 别 名 CDX C D X 函 数 - 图39 函 数 返 回 该 表 的 复 合 索 引 文 件 的 文 件 名

C D X 函 数 - 图40C D X 函 数 - 图41若省略 nWorkAreacTableAlias 则返回当前选定工作区中表的复合索引文件名

说 明

C D X 函 数 - 图42C D X 函 数 - 图43C D X 函 数 - 图44C D X 函 数 - 图45C D X 函 数 - 图46CDX 函数等同于 MDX 函数

C D X 函 数 - 图47C D X 函 数 - 图48C D X 函 数 - 图49C D X 函 数 - 图50C D X 函 数 - 图51一个 .CDX 复合 索引由一个物理文件组成 文件中包含许 多索引标识 每个标识都是对相关表中索引的引用

C D X 函 数 - 图52C D X 函 数 - 图53C D X 函 数 - 图54C D X 函 数 - 图55C D X 函 数 - 图56C D X 函 数 - 图57.CDX 文件有两类 标准复合索引 (.CDX) 和结构 .CDX 标准复合索引 (.CDX) 可以与相关表不同名 并可保存在与相关表不同的目录下 一个表可以有多个复合索引文 件 用 USE 命令的 INDEX 子句或 SET INDEX 命令可以打开一个复合索引

C D X 函 数 - 图58C D X 函 数 - 图59C D X 函 数 - 图60C D X 函 数 - 图61结构 .CDX 文件必须与相关表同名并保存于同一目录下 一个表只能有一个结构索引文件 当用 USE 打开相关表时 结 构 .CDX 文件自动打开和更新

C D X 函 数 - 图62C D X 函 数 - 图63C D X 函 数 - 图64CDX 忽略 USE 或 SET INDEX 中指定的任何 .IDX FoxBASE+ 和 FoxPro 1.0 兼容

C D X 函 数 - 图65索引 C D X 函 数 - 图66 文件

C D X 函 数 - 图67C D X 函 数 - 图68C D X 函 数 - 图69C D X 函 数 - 图70C D X 函 数 - 图71C D X 函 数 - 图72使用 TAG 可以返回包含于 .CDX 文件中的单个标识名 使用 NDX 可以返回打开的 .IDX 文件名

C D X 函 数 - 图73C D X 函 数 - 图74C D X 函 数 - 图75C D X 函 数 - 图76C D X 函 数 - 图77C D X 函 数 - 图78C D X 函 数 - 图79C D X 函 数 - 图80当 SET FULLPATH 为 ON 时 CDX 返回 .CDX 文件的路径和名称 当 SET FULLPATH 为 OFF 时 CDX 返回 .CDX 文件所在的驱动器及其名称

示 例

C D X 函 数 - 图81C D X 函 数 - 图82C D X 函 数 - 图83C D X 函 数 - 图84C D X 函 数 - 图85C D X 函 数 - 图86C D X 函 数 - 图87以下 示例 打开了 testdata 数据库中的 customer 表 使用 FOR ... ENDFOR 创建循环语句 在循环语句中显示结构索引名

CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && 打开 customer 表CLEAR

FOR nCount = 1 TO 254

IF !EMPTY(TAG(nCount)) && 检查索引中标识

? CDX (nCount) && 显示结构索引名称

ELSE

C D X 函 数 - 图88EXIT && 当不再发现标识时 退出循环

ENDIF ENDFOR

请 参 阅

INDEX , M D X ( ) , NDX( ) , SET FULLPATH , SET INDEX , SYS(14 ), SYS(21) ,SYS(22) , SYS(2021) , TAG( ) , USE