Foxtable(狐表)用户栏目专家坐堂 → [求助]分组求和问题


  共有1862人关注过本帖树形打印复制链接

主题:[求助]分组求和问题

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/13 18:14:00 [显示全部帖子]

直接分组统计,然后循环每一行,减去第一次的交易,即可。

 

你需要把统计显示在哪里?是sql语句,还是代码?具体问题做个实例发上来测试。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/13 18:33:00 [显示全部帖子]

Dim g As New GroupTableBuilder("统计表1", DataTables("表B"))
g.Groups.AddDef("第一列")
g.Totals.AddDef("第二列")
g.Build()
Dim t = Tables("统计表1")
For Each r As Row In t.Rows
    Dim fdr = DataTables("表B").find("第一列='" & r("第一列") & "'", "_Identify")
    If fdr IsNot Nothing Then
        r("第二列") -= fdr("第二列")
    End If
Next
MainTable = Tables("统计表1")

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/13 18:52:00 [显示全部帖子]

以下是引用happy_gile在2019/6/13 18:44:00的发言:
想不计算前10笔记录怎么写呢

 

如果是sqlserver数据库,直接用sql语句处理,比较方便,效率也比较高

 

如果写代码,较为繁琐。

 

Dim g As New GroupTableBuilder("统计表1", DataTables("表B"))
g.Groups.AddDef("第一列")
g.Totals.AddDef("第二列")
g.Build()
Dim t = Tables("统计表1")
For Each r As Row In t.Rows
    Dim sum As Double = 0
    Dim drs = DataTables("表B").Select("第一列='" & r("第一列") & "'", "_Identify")
    For i As Integer = 0 To 9
        If drs.count <= i Then
            Exit For
        End If
        sum += drs(i)("第二列")
    Next
    r("第二列") -= sum
   
Next
MainTable = Tables("统计表1")


 回到顶部