vfp中设置表之间的临时关系时出现没有设置排序索引的问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 17:37:46
要求设置student和score这两个表之间的临时关系,两个表有相同的索引,索引名为学号,我是这样写的:select 0
use student
select 0
use score
set relation to 学号 into student
然后出现错误提示:表没有设置排序索引,我不知道哪里出问题了,希望大家能帮帮我,感激不尽

CLOSE TABLES all
SELECT 1
use student
select 2
use score
SET ORDER TO tag 学号 &&必须要加指定排序索引
SELECT 1
set relation to 学号 into score

set relation 命令

在两个打开的表之间建立关系。

语法

SET RELATION TO
[eExpression1 INTO nWorkArea1 | cTableAlias1
[, eExpression2 INTO nWorkArea2 | cTableAlias2 ...]
[IN nWorkArea | cTableAlias]
[ADDITIVE]]

参数
eExpression1

指定用来在父表和子表之间建立关系的关系表达式。关系表达式通常是子表主控索引的索引表达式。
子表的索引可以是单项索引 (.IDX)、多项结构复合索引 (.CDX) 或独立复合索引。如果是复合索引,应指定适当的索引标识来排序子表。SET ORDER 可用来指定排序子表的索引标识。
例如,考虑“说明”部分描述的 customer 和 orders 两表。假定子表 orders 已经建立索引,并且使用如下命令用顾客编号进行排序:

SET ORDER TO TAG cust_id

要在 customer 和 orders 两表的顾客编号上建立关系,应选择包含父表 customer 的工作区或使用 IN 子句来指定父表的工作区或别名。然后,发出 set relation 命令,用如下关系表达式指定索引表达式:

SET RELATION TO cust_id INTO orders

除非关系表达式是数值型的,否则子表必须建立索引。如果发出包含非数值关系表达式的 set relation 命令时,子表没有使用索引进行排序, Visual FoxPro 显示错误