以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]同步更新关联列的处理逻辑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49693) |
-- 作者:tubairabbit -- 发布时间:2014/4/22 17:46:00 -- [求助]同步更新关联列的处理逻辑 同步更新关联列的处理逻辑是什么? a. 对子表关联行,直接修改关联列的数据? b. 新增复制关联行,关联列为修改后数据,再删除原关联行?
因为有如下父表A 关联子表B,勾选了同步更新关联列,同步删除关联行 表A 表B 关联列 第二列 第三列 关联列 test1 test1 test1
表B datacolchanged设置: Select Case e.DataCol.Name Dim pr As DataRow End Select
发现修改表A关联列内容为test2后,如下:表B关联列是能够同步更新,但是为什么没有执行新值代码?
表A 表B 关联列 第二列 第三列 关联列 test2 执行了旧值代码 test2 test2
[此贴子已经被作者于2014-4-22 17:46:41编辑过]
|
-- 作者:Bin -- 发布时间:2014/4/22 17:51:00 -- 弹出一下看看是否有触发事件 |
-- 作者:有点甜 -- 发布时间:2014/4/22 17:51:00 -- 呃,同一个时间,一行,怎么可能脚踏两条船?
dr = DataTables("表A").Find("关联列 = \'" & e.NewValue & "\'") pr = DataTables("表A").Find("关联列 = \'" & e.OldValue & "\'") |
-- 作者:有点甜 -- 发布时间:2014/4/22 17:53:00 -- 直接说你的意图。 |
-- 作者:tubairabbit -- 发布时间:2014/4/22 18:10:00 -- 实际的数据是 表A 关联列 费用合计 pc001 300 pc002 150
表B 关联列 费用种类 费用金额 pc001 保费 100 pc001 运费 200 pc002 保费 100 pc002 税费 50 ------> pc001 税费 50 考虑到有可能表B的关联列pc002修改为pc001,需重新统计表A的“费用合计”,所以在表B datacolchanged 设置了: Select Case e.DataCol.Name End If prold("费用合计") = DataTables("表B").Compute("Sum([费用金额])","[关联列] = \'" & e.OldValue & "\'") End If End If
此代码对于上面修改子表数据的情况,确实起到作用了, 表A 关联列 费用合计 pc001 350 pc002 100
但是觉得勾选了“同步更新关联列”,pc001改成pc003,应该也能触发表B的新旧两个值的这两段代码,为什么旧值代码执行了,新值汇总的代码没有执行?
|
-- 作者:tubairabbit -- 发布时间:2014/4/22 18:17:00 -- 如果不用关联设置里的“同步更新关联列”内容,改用写代码的方式实现关联列更新,在表A的datacolchanged中设置了 Select Case e.DataCol.Name Dim Filter As String = "[关联列] = \'" & e.OldValue & "\'" end select
发现就没问题,能够按预想执行表B的关联列的新旧两个值汇总的代码。 这里我主要是希望执行新值汇总的代码。 [此贴子已经被作者于2014-4-22 18:19:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/4/22 19:29:00 -- 能用就好,不要细究,不知内部可能做什么操作的。 |
-- 作者:tubairabbit -- 发布时间:2014/4/23 9:11:00 -- 大家如果“关联”里设置同步更新关联列,都是怎样设计父表汇总的呀? |
-- 作者:Bin -- 发布时间:2014/4/23 9:14:00 -- 你喜欢怎么样汇总都可以. 有条件统计子表数据看这里http://www.foxtable.com/help/topics/2472.htm
|
-- 作者:有点甜 -- 发布时间:2014/4/23 9:53:00 -- 以下是引用tubairabbit在2014-4-23 9:11:00的发言:
大家如果“关联”里设置同步更新关联列,都是怎样设计父表汇总的呀?
看9楼,也可以用代码统计。
你的思路错了,你应该把统计代码写在父表才对的。
|