以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Q:我想跨表统计数据,这个要怎么做比较好。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38732)

--  作者:HP002
--  发布时间:2013/8/5 17:25:00
--  Q:我想跨表统计数据,这个要怎么做比较好。

我想把每日入库,的入库数量汇总到备料跟踪登记表那,要用两个条件,一个是备料单号、一个是物料代码。

请问怎么做比较好。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.rar


--  作者:狐狸爸爸
--  发布时间:2013/8/5 17:34:00
--  

呵呵,问题要具体一点哦,否则想帮你一把,也无从下手啊


--  作者:HP002
--  发布时间:2013/8/5 18:14:00
--  

就是跨表统计,把每日入库的【入库数量】汇总到备料登记表内的【入库数量】,条件是按、备料单号和物料代码一致汇总。


--  作者:y2287958
--  发布时间:2013/8/5 19:28:00
--  
跨表统计无非就是找到另外一个符合条件的记录
然后对这些符合条件的记录进行统计即可

--  作者:有点甜
--  发布时间:2013/8/5 19:42:00
--  
 做了个刷新按钮,用于汇总。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb
 

--  作者:有点甜
--  发布时间:2013/8/5 19:44:00
--  
看看帮助文档的 跨表统计


--  作者:HP002
--  发布时间:2013/8/6 7:59:00
--  
看了,按那样做,实验不成功。
--  作者:狐狸爸爸
--  发布时间:2013/8/6 8:14:00
--  

用三楼的方法就行了,简单可靠。

如果你想自动更新,可以在MainTablechanged事件设置代码:

If MainTable.Name = "备料跟踪登记表" Then
    Dim dt_beiliao As DataTable = DataTables("备料跟踪登记表")
    Dim dt_ruku As DataTable = DataTables("每日入库")
    Dim datas As List(Of String()) = dt_ruku.GetUniqueValues("", "备料单号", "物料代码")
    For Each data As String() In datas
        Dim filter As String = "备料单号 = \'" & data(0) & "\' and 物料代码 = \'" & data(1) & "\'"
        Dim fdr As DataRow = dt_beiliao.Find(filter)
        If fdr Is Nothing Then
            fdr = dt_beiliao.AddNew
            fdr("备料单号") = data(0)
            fdr("物料代码") = data(1)
        End If
        fdr("入库数量") = dt_ruku.Compute("sum(入库数量)", filter)
    Next
End If


--  作者:HP002
--  发布时间:2013/8/6 11:18:00
--  

嗯,三楼那个我测过了,很好用。感谢狐爸


--  作者:HP002
--  发布时间:2013/8/8 9:13:00
--  @有点甜,两个条件的没有问题,一个条件的怎么设计代码呢。

@有点甜,两个条件的没有问题,一个条件的怎么设计代码呢。 比如按【物料代码】汇总入库数量。这个按钮代码怎么设计