以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]这个很难吗?关于DataColchanged事件,跨表符合条件的统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94419)

--  作者:gogo800528
--  发布时间:2016/12/23 9:14:00
--  [求助]这个很难吗?关于DataColchanged事件,跨表符合条件的统计

资料如表示:

 

表A中,根据协议号,分别统计出表B中,对应协议号及事项的金额。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:问题.table

[此贴子已经被作者于2016/12/23 9:54:47编辑过]

--  作者:gogo800528
--  发布时间:2016/12/23 9:19:00
--  
以下是引用gogo800528在2016/12/23 9:14:00的发言:

资料如表示:

 

表A中,根据协议号,分别统计出表B中,对应协议号及事项的金额。

 

 

 下载信息  [文件大小:288.0 KB  下载次数:0]

图片点击可在新窗口打开查看点击浏览该文件:问题.table

 

第一次发帖,不熟悉,表A中支出金额为表B中同一个协议号的,事由为支出的金额的总和,表A中收回金额为表B中同一个协议号的,事由为收回的金额的总和,表A中总计金额为表B中同一协议号的事由为收回的金额的总和 减去 表B中同一协议号的事由为支出的金额的总和,麻烦问一下表A中的DataColChanged 事件应该怎么写。



--  作者:gogo800528
--  发布时间:2016/12/23 9:46:00
--  

别沉啊,顶上去,在线等。不想用交叉统计的新建统计表方式。UP UP UP !!!


--  作者:gogo800528
--  发布时间:2016/12/23 9:50:00
--  

If e.DataCol.Name = "协议号" Then \'发生变化的是产品列.
    e.DataRow("支出金额") = DataTables("表b").Compute("Sum(金额)","[协议号] = \'" & e.NewValue & "\'")
End If

 

在这个基础上,怎么加入事由的条件过滤。


--  作者:有点蓝
--  发布时间:2016/12/23 10:28:00
--  
If e.DataCol.Name = "协议号" Then \'发生变化的是产品列.
    e.DataRow("支出金额") = DataTables("表b").Compute("Sum(金额)","[协议号] = \'" & e.NewValue & "\' and 事由=\'支付\'")
End If

--  作者:gogo800528
--  发布时间:2016/12/23 17:41:00
--  

已解决,谢谢!图片点击可在新窗口打开查看