请教老师,如何将表A数据,生成“统计表”样式,请教老师代码如何修改?Dim b As New CrossTableBuilder("统计表1", DataTables("表A"))
b.HGroups.AddDef("姓名") '添加客户列用于水平分组
b.VGroups.AddDef("型号") '添加产品列用于垂直分组
b.Totals.AddDef("数量") '添加数量列用于统计
b.OrderByTotal = True '同种类型的统计数据排列在一起
b.Build '生成统计表
Maintable = Tables("统计表1") '打开生成的统计表
[此贴子已经被作者于2023/1/31 17:36:45编辑过]
谢谢老师,因型号内容多少不确定,因此想采用临时表进行汇总,统计型号根据内容多少自动延伸,请老师看看一下代码:
Dim dtb As New DataTableBuilder("临时表1")
dtb.AddDef("姓名", GetType(String), 16)
dtb.AddDef("型号", GetType(String), 16)
dtb.AddDef("数量", GetType(Integer))
'dtb.AddDef("金额", GetType(Double))
dtb.Build()
'For Each nm() As String In DataTables("表A").GetValues("姓名|型号")
' Dim dr As DataRow = DataTables("临时表1").AddNew()
Dim r As Row
For Each s As String In DataTables("表A").GetValues("姓名")
r = Tables("临时表1").AddNew
r("姓名") = s
For Each dr As DataRow In DataTables("表A").Select("姓名='" & s & "'")
If dr.IsNull("型号") = False Then
Dim xh As String = dr("型号").SubString(1).trim("0")
r("型号" & xh & "_型号") = dr("型号")
r("型号" & xh & "_数量") = dr("数量")
End If
Next
Next
[此贴子已经被作者于2023/2/1 10:19:50编辑过]
Dim dtb As New DataTableBuilder("临时表1")
dtb.AddDef("姓名", GetType(String), 16)
For Each nm As String In DataTables("表A").GetValues("型号")
Dim xh As String = nm.SubString(1).trim("0")
dtb.AddDef("型号" & xh & "_型号", GetType(String), 16)dtb.AddDef("型号" & xh & "_数量", GetType(String), 16)
next
dtb.Build()
.NET Framework 版本:4.0.30319.17929
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,窗口1,Button5,Click
详细错误信息:
名为“型号1_型号”的列已属于此 DataTable。
请老师看看自动生成
临时表的代码
希望临时表生成的效果,要与2楼统计表那样
[此贴子已经被作者于2023/2/1 11:28:41编辑过]
老师,仔细测试还是发现一些问题,我换一个实例来说,比如横向标题为检查次数(检查日期和检查结果),检查次数为检查最多的单位检查的次数,比如5次,分别为检查次数1、检查次数2、检查次数3、检查次数4、检查次数5。
纵向单位列表,要求按照升序或降序,分别从”检查次数1 “开始依次填充,老师这个代码怎么重新进行调试?同时汇总表希望将”相同的系统“放在一起