以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- SQL数据库统计日期优化 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126971) |
-- 作者:weibu -- 发布时间:2018/11/2 8:43:00 -- SQL数据库统计日期优化 老师我用的是SQL数据库,数据库的入库日期格式包含了 毫秒如:2018-10-23 16:31:41.000 我想狐表统计界面设定了开始日期和结束日期的格式 是DATE:2018-10-23; 如果开始日期=2018-10-23;结束日期=2018-10-23;统计的就是2018-10-23一天的商品;其中SQL数据库中入库日期为2018-10-24 00:00:00.000是统计在2018-10-24里面的。 代码如下要怎么修改: Dim lx As String = e.Form.Controls("ComboBox1").Value Dim ks As Date = e.Form.Controls("DateTimePicker1").Value \'日期输入框的格式是DATE型:2018-10-23 Dim js As Date = e.Form.Controls("DateTimePicker2").Value Dim dr As DataRow = DataTables("用户信息").find("用户名 = \'" & 用户名 & "\'") \'找到当前登录者所在的行 Dim filter As String = "1=2" If dr("职位") = "管理者" Then Dim drs = DataTables("部门信息").Select("层级 like \'" & dr("层级") & "%\'") For Each cdr As DataRow In drs Filter &= " or 当前所在部门 = \'" & cdr("所属部门") & "\'And 入库日期 >= \'" & ks & "\' And 入库日期 <= \'" & js & "\' and 是否可用 = 1" Next Else If dr("职位") = "职员" Then Filter = "当前所在部门 = \'" & dr("所属部门") & "\'And 入库日期 >= \'" & ks & "\' And 入库日期 <= \'" & js & "\'and 是否可用 = 1" End If Dim g As New CrossTableBuilder("库存汇总", DataTables("溯源码")) ’统计代码 g.Filter = filter g.Build() MainTable = Tables("库存汇总") |
-- 作者:有点甜 -- 发布时间:2018/11/2 9:08:00 -- Dim ks As Date = e.Form.Controls("DateTimePicker1").Value Dim js As Date = e.Form.Controls("DateTimePicker2").Value.adddays(1) ..... Filter &= " or 当前所在部门 = \'" & cdr("所属部门") & "\'And 入库日期 >= \'" & ks & "\' And 入库日期 < \'" & js & "\' and 是否可用 = 1" |
-- 作者:weibu -- 发布时间:2018/11/2 9:19:00 -- 感谢 [此贴子已经被作者于2018/11/2 9:19:30编辑过]
|
-- 作者:weibu -- 发布时间:2018/11/2 10:12:00 -- 我这边发现一个问题,就是右击单元格筛选日期的时候,如果选择等于2018-10-23,选择的是后台筛选。出来的数据不全。为什么,怎么处理? |
-- 作者:有点甜 -- 发布时间:2018/11/2 10:24:00 -- 1、右键的筛选,是对已经筛选过的数据,再做一次筛选;
2、参考,细节自己调整。如果还有问题,实例发上来测试。
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=119100&skin=0
|
-- 作者:有点甜 -- 发布时间:2018/11/2 10:26:00 -- 或者,参考
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=72160&skin=0
|