以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何对关联表的关联行取值? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59244) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:audience68 -- 发布时间:2014/10/31 11:39:00 -- 如何对关联表的关联行取值? 一个任务单表,一个与任务单表关联的放行单表,任务单表中的“监造是否完成”列中的状态需根据放行单关联行中“监造是否完成”栏的值进行变更,当在放行单表中关联行多于一条时,如何将最后录入的一行中的“监造是否完成”栏值取到任务单表的对应栏。我现在只能取放行单表中中关联的第一行。请专家指点,谢谢! 维护的代码为: 监造基本信息表_DataColChanged
If e.DataCol.Name
= "监造流水号" Then If e.NewValue Is Nothing Then e.DataRow("监造是否完成") = Nothing
Else Dim dr As DataRow \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr dr = DataTables("监造放行单表").Find("[监造流水号]
= \'" & e.NewValue & "\'") If dr IsNot Nothing Then e.DataRow("监造是否完成") =
dr("监造是否完成") e.DataTable.Save() End If End If End If 两个表为: 任务单表如下
关联的放行单表如下:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点甜 -- 发布时间:2014/10/31 11:54:00 -- 取多行参考
http://www.foxtable.com/help/topics/0400.htm
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:audience68 -- 发布时间:2014/10/31 12:14:00 -- 甜版,可能我没说清楚,我的意思是: 对于任务表中的任务但编号1的一行,在关联表-放行单表中有2个关联行,但是我要取“监造放行单编号”最大的那一行中的“监造是否完成”栏中的值,并非把关联行找出来。即,把任务单表中任务编号为1的一行的“部分完成”改称放行单表中与之关联的第二行的“全部完成”。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:audience68 -- 发布时间:2014/10/31 12:34:00 -- 甜版,我考虑了一下,觉得应该是这样的逻辑,在子表中修改“监造是否完成”栏,一旦完成修改(DataColChanged),就对应修改父表中关联行中的“监造是否完成”栏,这样就只需要编写子表的DataColChanged,不知是否对? |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:audience68 -- 发布时间:2014/10/31 12:56:00 -- 甜版,问题自己解决了,思路就是修改子表就对应修改关联主表。 |