以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]交叉统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=29108)

--  作者:13636600695
--  发布时间:2013/2/27 19:54:00
--  [求助]交叉统计

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

下面这段代码是新建临时统计表

Dim g As New CrossTableBuilder("统计表1", DataTables("表A"))
g.HGroups.AddDef("产品")
g.VGroups.AddDef("入库类别")
g.Totals.AddDef("数量", "数量")
g.Build()
MainTable = Tables("统计表1")

怎样才能表B直接统计表A的数据

帮忙修改下代码,谢谢啦

 


--  作者:双轨制
--  发布时间:2013/2/27 21:07:00
--  

你可以看看:

http://www.foxtable.com/help/topics/0681.htm

 


--  作者:13636600695
--  发布时间:2013/2/27 21:15:00
--  
看过了,没弄好
--  作者:双轨制
--  发布时间:2013/2/27 21:31:00
--  

在命令窗口执行:

 

DataTables("表B").DataRows.clear
For Each nm As String In DataTables("表A").GetUniqueValues("","产品")
    Dim dr As DataRow = DataTables("表B").Addnew()
    dr("产品") = nm
    dr("采购入库") = DataTables("表A").Compute("Sum(数量)","产品 = \'" & nm & "\' And 入库类别 = \'采购入库\'")
    dr("生产入库") = DataTables("表A").Compute("Sum(数量)","产品 = \'" & nm & "\' And 入库类别 = \'生产入库\'")
    dr("外购入库") = DataTables("表A").Compute("Sum(数量)","产品 = \'" & nm & "\' And 入库类别 = \'外购入库\'")
Next


--  作者:13636600695
--  发布时间:2013/2/27 21:50:00
--  
有点收获了,谢谢!
--  作者:13636600695
--  发布时间:2013/2/28 0:34:00
--  
谢谢帮助,能否把新增行的代码去掉,我想直接填充到已存在的数据表
--  作者:狐狸爸爸
--  发布时间:2013/2/28 9:13:00
--  
For Each dr As DataRow In DataTables("表B").DataRows
    Dim nm As String = dr("产品") 
    dr("采购入库") = DataTables("表A").Compute("Sum(数量)","产品 = \'" & nm & "\' And 入库类别 = \'采购入库\'")
    dr("生产入库") = DataTables("表A").Compute("Sum(数量)","产品 = \'" & nm & "\' And 入库类别 = \'生产入库\'")
    dr("外购入库") = DataTables("表A").Compute("Sum(数量)","产品 = \'" & nm & "\' And 入库类别 = \'外购入库\'")
Next