Foxtable(狐表)用户栏目专家坐堂 → [求助]数据统计问题


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

主题:[求助]数据统计问题

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


加好友 发短信
等级:童狐 帖子:274 积分:2303 威望:0 精华:0 注册:2008/9/12 16:46:00
[求助]数据统计问题  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4760 积分:34608 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/5/13 6:59:00 [只看该作者]

参照这个试试:

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


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:274 积分:2303 威望:0 精华:0 注册:2008/9/12 16:46:00
  发帖心情 Post By:2014/5/13 10:48:00 [只看该作者]

感谢lsy,y2287958,这正是我需要的。

 回到顶部