以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]帮忙看看关于统计的,二天了都搞不定  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54455)

--  作者:94797323
--  发布时间:2014/7/28 23:08:00
--  [求助]帮忙看看关于统计的,二天了都搞不定

统计数据表里的数据,生成一个临时表。类型相同,第二列和第三列的二个数字一样也是相同的,合计后面的数量,比如 A 400 300 数量3  ,A 300 400 数量2,这二行数据的结果是A 400 300 数量是5, 临时表排序先按类型,再按第二列大的,再按第三列大的,这样排,狐神们帮帮忙!!!!

 

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


--  作者:有点甜
--  发布时间:2014/7/29 9:15:00
--  

代码

 

DataTables("临时表").DataRows.Clear
For Each dr As DataRow In DataTables("数据表").Select("", "类型,第二列 desc,第三列 desc")
    Dim fdr As DataRow = DataTables("临时表").Find("类型 = \'" & dr("类型") & "\' and (第二列 = \'" & dr("第二列") & "\' and 第三列 = \'" & dr("第三列") & "\' or 第二列 = \'" & dr("第三列") & "\' and 第三列 = \'" & dr("第二列") & "\')")
    If fdr Is Nothing Then
        fdr = DataTables("临时表").AddNew
        fdr("类型") = dr("类型")
        fdr("第二列") = dr("第二列")
        fdr("第三列") = dr("第三列")
        fdr("数量") = dr("数量")
    Else
        fdr("数量") += val(dr("数量"))
    End If
Next