Foxtable(狐表)用户栏目专家坐堂 → 求助-分类统计


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

主题:求助-分类统计

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


加好友 发短信
等级:幼狐 帖子:95 积分:887 威望:0 精华:0 注册:2018/7/3 0:45:00
求助-分类统计  发帖心情 Post By:2024/10/21 15:05:00 [只看该作者]

老师,我的数据源是表1如图一所示,(绿色部分是表头),我想通过统计得到表2如图二所示的数据统计结果,(绿色部分是表头),

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


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

统计情况是从表一中按销档、标号来统计产量,统计这两个条件下按物料名称的用量统计,我现在不清楚该如何来进行统计,烦请老师,帮忙分析下思路,也请老师帮做下代码,谢谢老师。

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


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

这种没有办法直接统计,只能遍历所有单元格逐个相加处理。具体请上传实例说明

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


加好友 发短信
等级:幼狐 帖子:95 积分:887 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/10/23 10:44:00 [只看该作者]

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



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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/23 11:31:00 [只看该作者]

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


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


加好友 发短信
等级:幼狐 帖子:95 积分:887 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/10/23 11:54:00 [只看该作者]

谢谢老师,我会研究下代码的,再次感谢

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


加好友 发短信
等级:幼狐 帖子:95 积分:887 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/10/24 13:56:00 [只看该作者]

老师您好,学习您代码还是有些迷糊,我给您发的临时数据是另建的,也是我当时没考虑清楚,我按我的数据来源及显示位置做了一些修改,可就是改不上,还得请老师帮我处理下,我再对照学习,谢谢老师。
数据结构:
我原表A的数据是SQL数据库里的“白塔砼销明细”-g.CTextBox522")和Dim qz As WinForm.TextBox = e.Form.Controls("TextBox523")
数据列原先的不变,现在增加:砼销明细_生产日期0,生产信息_生产信息_生产线,生产信息_生产信息_浇筑方式,条件是:[砼销明细_生产日期0] >= '" & qq.text & "' and [砼销明细_生产日期0] <= '" & qz.text & "' 
显示列的顺序为:砼销明细_生产日期0,生产信息_生产信息_生产线,销档,标号,生产信息_生产信息_浇筑方式,产量,后面就是那些用料的了

您之前的代码如下:
Dim dtb As New DataTableBuilder("统计表1")
dtb.AddDef("销档", GetType(String), 16)
dtb.AddDef("标号", GetType(String), 16)
dtb.AddDef("产量", GetType(Integer))
Dim lst As New List(Of String)
For Each c As Col In Tables("表A").cols
    If c.Name Like "*_物料_*" Then
        For Each v As String In DataTables("表A").GetValues(c.Name, c.Name & " is not null")
            If lst.Contains(v) = False Then
                lst.Add(v)
                dtb.AddDef(v, GetType(Double))
            End If
        Next
    End If
Next
dtb.Build()
For Each v As String() In DataTables("表A").GetValues("砼销明细_销档|砼销明细_生产信息_标号")
    Dim dr1 As DataRow = DataTables("统计表1").AddNew()
    dr1("销档") = v(0)
    dr1("标号") = v(1)
    For Each dr2 As DataRow In DataTables("表A").Select("砼销明细_销档 = '" & v(0) & "' and 砼销明细_生产信息_标号 = '" & v(1) & "'")
        dr1("产量") = dr1("产量") + dr2("砼销明细_生产信息_产量")
        For Each c As Col In Tables("表A").cols
            If c.Name Like "*_物料_*" Then
                If dr2.IsNull(c.Name) = False Then
                    dr1(dr2(c.Name)) = dr1(dr2(c.Name)) + dr2(c.Name.Replace("物料", "用量"))
                End If 
            End If
        Next
    Next
Next
MainTable = Tables("统计表1")

烦请老师帮忙修改下,谢谢!

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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/24 14:03:00 [只看该作者]

请重新上传实例说明

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


加好友 发短信
等级:幼狐 帖子:95 积分:887 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/10/24 14:48:00 [只看该作者]

老师,我的数据是SQL数据库里的“白塔砼销明细”-g.C
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目13.table



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


加好友 发短信
等级:幼狐 帖子:95 积分:887 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/10/24 14:48:00 [只看该作者]

 "统计工作"
[此贴子已经被作者于2024/10/24 14:50:15编辑过]

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


加好友 发短信
等级:幼狐 帖子:95 积分:887 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/10/24 14:49:00 [只看该作者]

g.C

 回到顶部
总数 26 1 2 3 下一页