以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 计算时程序自动关闭 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22165) |
||||
-- 作者:chnfo -- 发布时间:2012/8/4 14:23:00 -- 计算时程序自动关闭 我在做这个例子的时候,发现总自动关闭。 本意是如果树节点是末级节点时,合计其明细的相关值。 如果树节点为非末级节点时,合计其直属子节点的相关值。 试了方法,不中,请高手指点。
|
||||
-- 作者:chnfo -- 发布时间:2012/8/4 21:14:00 -- 不是,我是要那个后勤科的数量=666+1158+9 然后行政部的数量=1\\1\\1的数量+1\\1\\2的数量+1\\1\\3的数量 依此类推
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/8/6 8:25:00 -- 提问,你得明确告诉大家,你目的是什么,你做了些什么,现在卡在那里,否则大家不知道你要做什么,怎么帮你?
你要汇总,大概就是: Dim val As Double = DataTables("WBS").compute("Sum(v)","FatherCode Like \'" & e.Node.Name & "\\*\' Or FatherCode = \'" & e.node.name & "\'")
|
||||
-- 作者:chnfo -- 发布时间:2012/8/6 9:02:00 -- 那我把问题重新说说吧。 这是一个公司部门物品分布的情况。是希望在“部门物品分布”——以下称主表——的界面里,当选择具体部门后,在“部门物品分布.部门物品”——以下称子表里填写明细之后,在主表里可以自动更新具体部门的数量、金额,并计算这个部门的物品均价。 现在已经做完的工作: (1)主表中的末级节点的数量和金额由子表中汇总得到,这个没有问题。 (2)子表的具体物品的数量和单价变化的时候,主表中末级节点的数量和金额自动更新。 问题: (1)主表中的非末级节点的数量和金额,逐级汇总时,程序出错。 意思就是 1\\1\\1的数量=sum(1\\1\\1\\1,1\\1\\1\\2,1\\1\\1\\3)的数量 1\\1的数量=sum(1\\1\\1,1\\1\\2,1\\1\\3)的数量 1的数量=sum(1\\1)的数量 金额类同。 |
||||
-- 作者:chnfo -- 发布时间:2012/8/6 9:08:00 -- 我试了多次,应当就是“部门物品分布”的表的datacolChanged的代码出了问题 具体来说,就是这里 \'第4步,非末级节点的金额递归计算,这样不行. \'For Each dr1 As DataRow In e.DataTable.DataRows \' Dim FlSumSon02 As String ="FatherCode = \'" & dr1("code") & "\'" \' Dim dr2 As DataRow = e.DataTable.Find(FlSumSon02) \' If dr2 IsNot Nothing Then \' dr1("V") = e.DataTable.Compute("sum(V)",FlSumSon02) \' dr1("A") = e.DataTable.Compute("sum(A)",FlSumSon02) \' End If \'Next 不太明白问题出在哪里。
|
||||
-- 作者:chnfo -- 发布时间:2012/8/6 22:04:00 -- 调试完成了. |