-- 作者:syzsyk
-- 发布时间:2014/5/18 1:11: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("动物产地检疫工作情况日汇总表")
这个是统计当天的数据,红色部分代码如何改写可实现按指定的时间段统计?
|
-- 作者:逛逛
-- 发布时间:2014/5/18 8:52:00
--
增加1个 DateTimePicker 名为 开始日期
增加1个 DateTimePicker 名为 结束日期
时间格式设置为 Date
Dim vals As List(Of String) = DataTables("动物产地检疫工作记录").GetValues("申报单编号","申报单编号 Is Not Null And 基本情况_检疫时间 >= \'" & 开始日期.value & " 00:00:00\' and 基本情况_检疫时间 < \'" & 结束日期.value & " 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 基本情况_检疫时间 >= \'" & 开始日期.value & " 00:00:00\' and 基本情况_检疫时间 < \'" & 结束日期.value & " 23:59:59\'")
|
-- 作者:syzsyk
-- 发布时间:2014/5/18 15:22:00
--
谢谢逛逛、有点甜帮助!
还有个问题,想实现当开始日期和结束日期没有选择时,提示选择开始日期或结束日期,加了如下代码:
If e.Form.Controls("开始日期").value Is Nothing AndAlso e.Form.Controls("结束日期").value Is Nothing Then MessageBox.Show("请您一定选择开始日期和结束日期!", "提示") Else
.....
.....
如果只选择开始日期或结束日期,另一个不选,运行时显示如下错误,哪里有问题?:
此主题相关图片如下:t3.png
[此贴子已经被作者于2014-5-18 15:22:43编辑过]
|
-- 作者:有点甜
-- 发布时间:2014/5/18 15:30:00
--
判断一下
Dim filter As String = "" If 开始日期.value IsNot Nothing Then filter = " And 基本情况_检疫时间 >= \'" & 开始日期.value & "\'" End If If 结束日期.value IsNot Nothing Then filter = " and 基本情况_检疫时间 < \'" & 结束日期.value.AddDays(1) & "\'" End If
Dim vals As List(Of String) = DataTables("动物产地检疫工作记录").GetValues("申报单编号","申报单编号 Is Not Null " & filter) For Each val As String In vals Dim ndr As DataRow = DataTables("动物产地检疫工作情况日汇总表").AddNew() ndr("申报单编号") = val Dim cdjl As DataRow = DataTables("动物产地检疫工作记录").Find("申报单编号 = \'"& val & "\' " & filter)
|