老师,标注红色的是我要统计的记录数,但是是个文本的,有什么方法在不改变数据列类型的情况下统计文本个数吗?
Dim sql1 As String = "Se lect * from 明细 as a1 where exists(sel ect * from 工序 as b1 where " & Forms("生产查询").controls("生产查询表").Table.DataTable.LoadFilter & " And a1.毛坯编码 = b1.毛坯编码 And a1.加工工序 = b1.加工工序 And a1.使用设备 = b1.使用设备 And a1.上传人员 = b1.姓名)"
Dim b1 As New GroupTableBuilder("统计表3", sql1, "条码扫描系统数据库")
b1.Groups.AddDef("毛坯编码") '根据产品分组
b1.Groups.AddDef("上传人员") '根据产品分组
b1.Groups.AddDef("使用设备") '根据产品分组
b1.Groups.AddDef("生产批次") '根据产品分组
b1.Groups.AddDef("加工工序") '根据产品分组
b1.Totals.AddDef("毛坯编码", AggregateEnum.Count) '对数量进行统计
Dim dt1 As DataTable = b1.Build(True)
Dim dr1 As DataRow
统计个数和列类型没有什么关系呀。不管什么类型都可以统计个数的
[此贴子已经被作者于2024/8/2 16:58:57编辑过]
提示如图的异常,全部代码如下:
此主题相关图片如下:1.png
Dim sql1 As String = "S elect * from 明细 as a1 where exists(se lect * from 工序 as b1 where " & Forms("生产查询").controls("生产查询表").Table.DataTable.LoadFilter & " And a1.毛坯编码 = b1.毛坯编码 And a1.加工工序 = b1.加工工序 And a1.使用设备 = b1.使用设备 And a1.上传人员 = b1.姓名)"
Dim b1 As New GroupTableBuilder("统计表3", sql1, "条码扫描系统数据库")
b1.Groups.AddDef("毛坯编码") '根据产品分组
b1.Groups.AddDef("上传人员") '根据产品分组
b1.Groups.AddDef("使用设备") '根据产品分组
b1.Groups.AddDef("生产批次") '根据产品分组
b1.Groups.AddDef("加工工序") '根据产品分组
b1.Totals.AddDef("加工工序", AggregateEnum.Count) '对数量进行统计
Dim dt1 As DataTable = b1.Build(True)
Dim dr1 As DataRow
For Each dr4 As Row In Tables("生工查询表").Rows
dr1 = dt1.find("毛坯编码 = '" & dr4("毛坯编码") & "' and 加工工序 = '" & dr4("加工工序") & "'")
If dr1 IsNot Nothing Then
dr4("检测次数") = 1
Else
dr4("检测次数") = 0
End If
Next
提示没有"毛坯编码"这列,要么列名写错,要么上面的某一个表没有这个列
老师,我用附件的代码进行相关汇总,汇总完后进行分配,但是要分配好几次,分配后的总数才和相关汇总的对得上。代码如附件,异常如图1
此主题相关图片如下:1.png