以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据统计问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=50758)

--  作者:syzsyk
--  发布时间:2014/5/13 0:33:00
--  [求助]数据统计问题

通过下面的代码实现如下结果:

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

 

如何修改下面的代码实现红色标记的结果,货主姓名相同时无论出现几次,只能算1,以此类推动物种类也一样,然后合计,货主列最下方显示格式为“合计 2”:

 

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

 

代码如下:

DataTables("动物产地检疫工作情况日汇总表").DataRows.Clear()
Dim vals As List(Of String) = DataTables("动物产地检疫工作记录").GetValues("申报单编号","申报单编号 Is Not Null And 基本情况_检疫时间 >= \'" & Date.Today & " 00:00:00\' and 基本情况_检疫时间  < \'" & Date.Today & " 23:59:59\'")
For Each val As String In vals
    Dim ndr As DataRow = DataTables("动物产地检疫工作情况日汇总表").AddNew()
    ndr("申报单编号") = val
    Dim cdjl As DataRow = DataTables("动物产地检疫工作记录").Find("申报单编号 = \'"& val & "\' and 基本情况_检疫时间 >= \'" & Date.Today & " 00:00:00\' and 基本情况_检疫时间  < \'" & Date.Today & " 23:59:59\'")
    If cdjl IsNot Nothing Then
        ndr("货主") = cdjl("基本情况_货主姓名")
        ndr("动物种类") = cdjl("基本情况_动物种类")
        ndr("检疫数量") = cdjl("基本情况_数量")
        ndr("检疫地点") = cdjl("基本情况_检疫地点")
        ndr("合格数") = cdjl("检疫结果处理_合格数")
        ndr("《动物检疫合格证明》编号") = cdjl("检疫结果处理_出具动物检疫合格证明编号")
        ndr("不合格数") = cdjl("检疫结果处理_检疫不合格_法定检疫对象_数量")+cdjl("检疫结果处理_检疫不合格_其它_数量")
        ndr("《检疫处理通知单》编号") = cdjl("检疫结果处理_检疫不合格_出具检疫处理通知单编号")
        ndr("目的地") = cdjl("基本情况_到达地点")
        ndr("运载工具牌号") = cdjl("基本情况_运载工具牌号")
        ndr("官方兽医姓名") = cdjl("官方兽医姓名")
        ndr("备注") = cdjl("备注")
    End If
Next
Dim hjdr As DataRow = DataTables("动物产地检疫工作情况日汇总表").AddNew
hjdr("货主") = "合计"
hjdr("货主") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(货主)","货主 Is Not Null And 货主 <> \'合计\'")

hjdr("申报单编号") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(申报单编号)","申报单编号 Is Not Null And 货主 <> \'合计\'")
hjdr("动物种类") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(动物种类)","动物种类 Is Not Null And 货主 <> \'合计\'")
hjdr("检疫数量") = DataTables("动物产地检疫工作情况日汇总表").Compute("Sum(检疫数量)","货主 <> \'合计\'")
hjdr("检疫地点") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(检疫地点)","检疫地点 Is Not Null And 货主 <> \'合计\'")
hjdr("合格数") = DataTables("动物产地检疫工作情况日汇总表").Compute("Sum(合格数)","货主 <> \'合计\'")
hjdr("《动物检疫合格证明》编号") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(《动物检疫合格证明》编号)","《动物检疫合格证明》编号 Is Not Null And 货主 <> \'合计\'")
hjdr("不合格数") = DataTables("动物产地检疫工作情况日汇总表").Compute("Sum(不合格数)","货主 <> \'合计\'")
hjdr("《检疫处理通知单》编号") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(《检疫处理通知单》编号)","《检疫处理通知单》编号 Is Not Null And 货主 <> \'合计\'")
hjdr("目的地") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(目的地)","目的地 Is Not Null And 货主 <> \'合计\'")
hjdr("运载工具牌号") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(运载工具牌号)","运载工具牌号 Is Not Null And 货主 <> \'合计\'")
hjdr("官方兽医姓名") = DataTables("动物产地检疫工作情况日汇总表").Compute("Count(官方兽医姓名)","官方兽医姓名 Is Not Null And 货主 <> \'合计\'")
MainTable = Tables("动物产地检疫工作情况日汇总表")


[此贴子已经被作者于2014-5-13 0:35:38编辑过]

--  作者:y2287958
--  发布时间:2014/5/13 6:59:00
--  

参照这个试试:

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


--  作者:lsy
--  发布时间:2014/5/13 8:01:00
--  
DataTables("动物产地检疫工作情况日汇总表").DataRows.Clear()
Dim vals As List(Of String) = DataTables("动物产地检疫工作记录").GetValues("申报单编号","申报单编号 Is Not Null And 基本情况_检疫时间 >= \'" & Date.Today & " 00:00:00\' and 基本情况_检疫时间  < \'" & Date.Today & " 23:59:59\'")
For Each val As String In vals
    Dim ndr As DataRow = DataTables("动物产地检疫工作情况日汇总表").AddNew()
    ndr("申报单编号") = val
    Dim cdjl As DataRow = DataTables("动物产地检疫工作记录").Find("申报单编号 = \'"& val & "\' and 基本情况_检疫时间 >= \'" & Date.Today & " 00:00:00\' and 基本情况_检疫时间  < \'" & Date.Today & " 23:59:59\'")
    If cdjl IsNot Nothing Then
        ndr("货主") = cdjl("基本情况_货主姓名")
        ndr("动物种类") = cdjl("基本情况_动物种类")
        ndr("检疫数量") = cdjl("基本情况_数量")
        ndr("检疫地点") = cdjl("基本情况_检疫地点")
        ndr("合格数") = cdjl("检疫结果处理_合格数")
        ndr("《动物检疫合格证明》编号") = cdjl("检疫结果处理_出具动物检疫合格证明编号")
        ndr("不合格数") = cdjl("检疫结果处理_检疫不合格_法定检疫对象_数量")+cdjl("检疫结果处理_检疫不合格_其它_数量")
        ndr("《检疫处理通知单》编号") = cdjl("检疫结果处理_检疫不合格_出具检疫处理通知单编号")
        ndr("目的地") = cdjl("基本情况_到达地点")
        ndr("运载工具牌号") = cdjl("基本情况_运载工具牌号")
        ndr("官方兽医姓名") = cdjl("官方兽医姓名")
        ndr("备注") = cdjl("备注")
    End If
Next
Dim hjdr As DataRow = DataTables("动物产地检疫工作情况日汇总表").AddNew
hjdr("货主") = "合计:" & DataTables("动物产地检疫工作情况日汇总表").GetValues("货主","货主 Is Not Null And 货主 <> \'合计\'").Count
hjdr("申报单编号") = DataTables("动物产地检疫工作情况日汇总表").GetValues("申报单编号","申报单编号 Is Not Null And 货主 <> \'合计\'").Count
hjdr("动物种类") = DataTables("动物产地检疫工作情况日汇总表").GetValues("动物种类","动物种类 Is Not Null And 货主 <> \'合计\'").Count
hjdr("检疫数量") = DataTables("动物产地检疫工作情况日汇总表").Compute("Sum(检疫数量)","货主 <> \'合计\'")
hjdr("检疫地点") = DataTables("动物产地检疫工作情况日汇总表").GetValues("检疫地点","检疫地点 Is Not Null And 货主 <> \'合计\'").Count
hjdr("合格数") = DataTables("动物产地检疫工作情况日汇总表").Compute("Sum(合格数)","货主 <> \'合计\'")
hjdr("《动物检疫合格证明》编号") = DataTables("动物产地检疫工作情况日汇总表").GetValues("《动物检疫合格证明》编号","《动物检疫合格证明》编号 Is Not Null And 货主 <> \'合计\'").Count
hjdr("不合格数") = DataTables("动物产地检疫工作情况日汇总表").Compute("Sum(不合格数)","货主 <> \'合计\'")
hjdr("《检疫处理通知单》编号") = DataTables("动物产地检疫工作情况日汇总表").GetValues("《检疫处理通知单》编号","《检疫处理通知单》编号 Is Not Null And 货主 <> \'合计\'").Count
hjdr("目的地") = DataTables("动物产地检疫工作情况日汇总表").GetValues("目的地","目的地 Is Not Null And 货主 <> \'合计\'").Count
hjdr("运载工具牌号") = DataTables("动物产地检疫工作情况日汇总表").GetValues("运载工具牌号","运载工具牌号 Is Not Null And 货主 <> \'合计\'").Count
hjdr("官方兽医姓名") = DataTables("动物产地检疫工作情况日汇总表").GetValues("官方兽医姓名","官方兽医姓名 Is Not Null And 货主 <> \'合计\'").Count
MainTable = Tables("动物产地检疫工作情况日汇总表")

--  作者:syzsyk
--  发布时间:2014/5/13 10:48:00
--  
感谢lsy,y2287958,这正是我需要的。