Foxtable(狐表)用户栏目专家坐堂 → 怎样篡改,有多个分组的,分组行数据


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

主题:怎样篡改,有多个分组的,分组行数据

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


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
怎样篡改,有多个分组的,分组行数据  发帖心情 Post By:2023/6/16 15:12:00 [只看该作者]

如图所示,有三级分组
性别,类型,组号,
数据结构为:性别(){ 多个类型 {多个组号
需要篡改,每一级的 汇总结果
求平均值,最大值,最小值,和标准方差

如性别的汇总行 ,求,所有sex=r("sex")
类型,sex= r("sex") and type=r("type")
组,sex= r("sex") and type=r("type") and gorup_num=r("group_num")

问题是:在类型的分组行上,找不到 性别

图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2023/6/16 15:12:00 [只看该作者]

Dim tb As Table = Forms("bweight").Controls("TbS").Table
Dim g As SubtotalGroup
tb.SubtotalGroups.Clear

g = New SubtotalGroup
g.GroupOn = "group_num"
g.Aggregate = AggregateEnum.Average
g.Caption = "{0}"
g.TotalOn = "weight"
tb.SubtotalGroups.Add(g)

g = New SubtotalGroup
g.GroupOn = "type"
g.Aggregate = AggregateEnum.Average
g.TotalOn = "weight"
g.Caption = "{0}:"
tb.SubtotalGroups.Add(g)

g = New SubtotalGroup
g.GroupOn = "sex"
g.Aggregate = AggregateEnum.Average
g.Caption = "{0}"
g.TotalOn = "weight"
tb.SubtotalGroups.Add(g)
tb.Subtotal

''篡改汇总数据
'Dim r As Row
'For i As Integer = 0 To tb.Rows.Count(True) - 1
'    r = tb.Rows(i, True)
'    If r.IsGroup Then '如果是分组行
'        Dim f As String = ""
'        Dim v As String = ""
'        Select Case r.Level
'            Case 0
'                f = "sex='" & r("sex") & "'" & ";"
'                v = "称重只数:" & tb.Compute("count(weight)", f) & ";"
'                v &= "平均体重:" & tb.Compute("Avg(weight)", f) & ";"
'                r("sex") = r("sex") & "鸡-" & v 
'            Case 1

'            Case 2

'        End Select 
        
'    End If 
'Next 

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/16 15:24:00 [只看该作者]

看不到具体数据无法回答,请展开所有明细,重新截图看看

 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2023/6/16 15:29:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/16 15:31:00 [只看该作者]

把汇总行也截图出来呀,如果数据多,还是发个实例吧

 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2023/6/16 15:32:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2023/6/16 15:33:00 [只看该作者]

目前,只会做到一个分组
图片点击可在新窗口打开查看此主题相关图片如下:bb.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/16 15:40:00 [只看该作者]

还是把表数据导出发上来看看吧

 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2023/6/16 15:42:00 [只看该作者]

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


 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/16 15:56:00 [只看该作者]

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


Dim r As Row
For i As Integer = 0 To tb.Rows.Count(True) - 1
    r = tb.Rows(i, True)
    If r.IsGroup Then '如果是分组行
        Dim f As String = ""
        Dim v As String = ""
        Select Case r.Level
            Case 0
                f = "sex='" & r("sex") & "'" 
                v = "称重只数:" & tb.Compute("count(weight)", f) & ";"
                v &= "平均体重:" & tb.Compute("Avg(weight)", f) & ";"
                r("sex") = r("sex") & "鸡-" & v 
            Case 1
                f = "sex='" & tb.Rows(i + 1, True)("sex") & "' and type='" & r("sex").Trim(":") & "'" '
                Output.Show(f)
                v = "称重只数:" & tb.Compute("count(weight)", f) & ";"
                v &= "平均体重:" & tb.Compute("Avg(weight)", f) & ";"
                r("sex") = r("sex") & "鸡-" & v 
            Case 2

        End Select 
        
    End If 
Next

 回到顶部