建立表之间的关联set relation
(2009-07-20 16:07:22)
标签:
数值表达式to表文学号杂谈 |
分类: vf学习 |
sele 工作区
set repation to 字段 into 工作区名
说明:sele 工作区,选择的是父表,控制着指针的移动
into 工作区名 到的是子表。搞明白这个,其它的也就很简单了。
additive 就是保留前一个联接。
【格式】SET RELATION TO [<关键字段表达式> |
<数值表达式>]
[INTO<别名>
【功能】将当前工作区的表文件与<别名>(或工作区号)指定的工作区中的表文件按<关键字段表达式>或<数值表达式>建立关联。
【说明】当用<关键字段表达式>建立关联时,关键字必须是两个表文件共有字段,且别名表文件已按关键字段建立了索引文件,并已指定关键字段为主索引。
当按<数值表达式>建立关联时,别名表不需要打开索引文件,两个表文件按照记录号相联系,父表文件的记录指针移动时,子表文件的记录指针移至与数值表达式相等的记录上。若找不到此记录,记录指针指向文件尾,EOF()为.T.。
ADDITIVE:表示当前表与其他工作区表己有的关联仍有效,实现一个表和多个表之间的关联;否则取消当前表与其他工作区表已有的关联,当前表只能与一个表建立关联。
SET
【例5-2】 将表文件STUD.DBF和SC.DBF以学号为关键字段建立关联。
SELECT 2
USE
SC
INDEX ON 学号 TAG 学号
SET ORDER TO TAG 学号
SELECT
1
USE
STUD
SET RELATION TO 学号 INTO 2
【例5-3】
SELECT
2
USE
SC
SELECT
1
USE STUD
SET RELATION TO RECNO() INTO 2
2)一对多关联的建立
1)命令方式
【格式】SET SKIP TO [<别名1>[, <别名2>] ...]
【功能】将当前表文件与其他工作区中的表文件建立一对多关联。
【说明】先要用SET RELATION命令建立了一对一的关联,然后才能将一对一的关联进一步定义成一对多的关联。