以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助跨表引用统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107674)

--  作者:xh2207
--  发布时间:2017/10/7 16:40:00
--  [求助跨表引用统计

求助:表与表之间无任何关联,按订单号和工程编号引用统计合同分配明细表中的合同数量,将统计后的合同数量填到订货明细表中相应的行,认为重置合同数量列后无法实现功能。请赐教,感谢!烦将修改的代码贴出,小狗到期。

 

订货明细表DataColChanged

If e.DataCol.Name = "合同数量" Then
    e.DataTable.ReplaceFor("合同数量", DataTables("合同分配明细表").Compute("Sum(合同数量)","订单号 = \'" & e.DataRow("订单号")  & "\'and 工程编号 = \'" & e.DataRow("工程编号")  & "\' ") )
End If

 


图片点击可在新窗口打开查看此主题相关图片如下:订货明细表.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:合同分配明细表.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:订1_201710071622.zip


--  作者:有点甜
--  发布时间:2017/10/7 16:44:00
--  

1、把你的数据库发上来才能测试;

 

2、代码改成

 

 If e.DataCol.Name = "订单号" OrElse e.DataCol.Name = "工程编号" Then
    Dim sum = DataTables("合同分配明细表").Compute("Sum(合同数量)","订单号 = \'" & e.DataRow("订单号")  & "\'and 工程编号 = \'" & e.DataRow("工程编号")  & "\' ")
    e.DataTable.ReplaceFor("合同数量", sum, "订单号 = \'" & e.DataRow("订单号")  & "\'and 工程编号 = \'" & e.DataRow("工程编号")  & "\' ")
End If

[此贴子已经被作者于2017/10/7 16:45:35编辑过]

--  作者:xh2207
--  发布时间:2017/10/7 17:09:00
--  

可以统计,但数据不对。

 数据库文件:

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

知道了,是条件的错误。

[此贴子已经被作者于2017/10/7 17:17:10编辑过]

--  作者:有点甜
--  发布时间:2017/10/7 17:18:00
--  
如果还有问题,截图具体说明。