以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  GroupTableBuilder 统计文本个数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192930)

--  作者:nuoyan89
--  发布时间:2024/8/2 16:36:00
--  GroupTableBuilder 统计文本个数
老师,标注红色的是我要统计的记录数,但是是个文本的,有什么方法在不改变数据列类型的情况下统计文本个数吗?
        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:59:00
--  
统计个数和列类型没有什么关系呀。不管什么类型都可以统计个数的
[此贴子已经被作者于2024/8/2 16:58:57编辑过]

--  作者:nuoyan89
--  发布时间:2024/8/2 17:02:00
--  
不行,我试过了
--  作者:有点蓝
--  发布时间:2024/8/2 17:07:00
--  
肯定可以的。提示什么错误?
--  作者:nuoyan89
--  发布时间:2024/8/2 17:08:00
--  
提示如图的异常,全部代码如下:

图片点击可在新窗口打开查看此主题相关图片如下: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

--  作者:有点蓝
--  发布时间:2024/8/3 9:29:00
--  
提示没有"毛坯编码"这列,要么列名写错,要么上面的某一个表没有这个列
--  作者:nuoyan89
--  发布时间:2024/8/5 13:32:00
--  
老师,我用附件的代码进行相关汇总,汇总完后进行分配,但是要分配好几次,分配后的总数才和相关汇总的对得上。代码如附件,异常如图1

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码差异.txt



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


--  作者:有点蓝
--  发布时间:2024/8/5 13:53:00
--  
完全没看懂