以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 触发求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72855) |
|
-- 作者:supwork -- 发布时间:2015/8/7 16:34:00 -- 触发求助
DataColChanged 事件代码
Case "产品编码"
触发代码
For i As Integer=0 To Tables("出入记录_主表.出入记录_明细表").rows.Count-1
为什么明细 表里只有三条数据 监测到 该系列行为对数据库中的所有数据均进行了操作。 我只要重算明细 表里的产品的库存数据就好。 |
|
-- 作者:大红袍 -- 发布时间:2015/8/7 16:43:00 -- For Each r As Row In Tables("出入记录_主表.出入记录_明细表").rows DataTables("出入记录_明细表").datacols("产品编码").RaiseDataColChanged("关联列 = \'" & r("关联列") & "\'") Next |
|
-- 作者:有点蓝 -- 发布时间:2015/8/7 16:45:00 -- 1、下面这种用法不对,重置列时不需要循环 For i As Integer=0 To Tables("出入记录_主表.出入记录_明细表").rows.Count-1 2、你要用RaiseDataColChanged(Filter) 把主表和子表关联的号记录下来 然后 Filter = "外键 =" & 主表号 |
|
-- 作者:有点蓝 -- 发布时间:2015/8/7 16:46:00 -- 2楼正解 |
|
-- 作者:supwork -- 发布时间:2015/8/7 16:49:00 -- 谢谢 这样效果好多了,没有遍历数据库中的所有数据了 但观察到如果明细表中有3条数据的话 DataColChanged 被执行了9次,如果4条记录的话,被执行了16次,就是被执行了明细表数据行数N的平方次数。
本意只要执行 N次了。 |
|
-- 作者:有点蓝 -- 发布时间:2015/8/7 16:59:00 --
|
|
-- 作者:大红袍 -- 发布时间:2015/8/7 17:00:00 -- 汗,你这个是关联表,主表数据,肯定只有一行。把当前行重置就行啊。
|
|
-- 作者:supwork -- 发布时间:2015/8/7 17:01:00 -- 正解 |