以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]AB两个表的ABC列数据相同时,B表D列数据会自动复制到A表D列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=97325)

--  作者:jick0526
--  发布时间:2017/3/9 21:38:00
--  [求助]AB两个表的ABC列数据相同时,B表D列数据会自动复制到A表D列

有AB两个表,当A,B两个表的A列B列C列都相同时,B表的D列的数据会自动复制到A表的D列去,如果B表的D列有很多行都有数据,那么会自动将数据相加的总和复制到A表的D列去,有点复杂,麻烦老师了,谢谢!

--  作者:有点色
--  发布时间:2017/3/10 2:14:00
--  

 呃,不就是跨表统计么?

 

http://www.foxtable.com/webhelp/scr/1454.htm

 

http://www.foxtable.com/webhelp/scr/1472.htm

 


--  作者:jick0526
--  发布时间:2017/3/10 2:18:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:示例.xls


--  作者:jick0526
--  发布时间:2017/3/10 2:19:00
--  
老师,您可以看下我发给您的示例,谢谢!
--  作者:有点色
--  发布时间:2017/3/10 2:21:00
--  

就是跨表统计,参考2楼。

 

简单一点,你可以设置成关联

 

http://www.foxtable.com/webhelp/scr/0100.htm

 

http://www.foxtable.com/webhelp/scr/0091.htm

 


--  作者:jick0526
--  发布时间:2017/3/10 2:47:00
--  
老师,我这个是想在三列都相同的前提下,只要一列不相同就不行,代码大概该怎么写,能帮我写下吗,麻烦您了,谢谢!
--  作者:jick0526
--  发布时间:2017/3/10 3:51:00
--  
If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    pr = DataTables("统计").Find("产品,型号,日期 = \'" & e.DataRow("产品")("型号")("日期") & "\'")
    If pr IsNot Nothing Then
        pr("数量")= pr("数量") + e.NewValue - e.OldValue
    End If
End If

If e.DataCol.Name = "产品""型号""日期" Then 
    e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)","[产品][型号][日期] = \'" & e.NewValue & "\'")
End If

老师,什么这两段代码我放在不同的表里,但是出错,能帮我看下代码哪里写错了,我想要的前提是当产品,型号,日期三个都一样是,而不是就产品一样,麻烦老师,谢谢!

--  作者:jick0526
--  发布时间:2017/3/10 4:46:00
--  
已解决,谢谢!