以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  统计执行不正确?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23626)

--  作者:wyd
--  发布时间:2012/9/14 14:08:00
--  统计执行不正确?

老师们,帮我想想哪里出了问题

下面是一个统计代码

统计日期为一个时间控件,起始日期根据时间控件的日期得出当月的第一日

这个代码执行起来没问题,但是统计出来的数据不正确

哪里出了问题

 

 

窗口的afterload代码

Dim et As WinForm.DateTimePicker = e.Form.Controls("ETime")
et.value = Date.Today()

 

统计代码

Dim et As Date = e.Form.Controls("ETime").value
Dim year As Integer = et.Year
Dim month As Integer = et.Month
Dim st As Date
st = new Date(Year,Month,1)

 

Dim bd1 As New SQLGroupTableBuilder("统计表1","入库")
bd1. 连接外雇数据源
Dim dt1 As fxDataSource
bd1.Groups.AddDef("产品类型")
bd1.Groups.AddDef("品番")
bd1.Groups.AddDef("库位")
bd1.Totals.AddDef("数量","入库_数量") \'对数量进行统计
bd1.filter = "{入库}.日期 >= \'" & cdate(st) & "\' And {入库}.日期 <= \'" & cdate(et) & "\'"
dt1 = bd1.BuildDataSource()

 

 

统计的问题就是,时间限制条件,只执行了{入库}.日期 <= \'" & cdate(et),没有执行{入库}.日期 >= \'" & cdate(st)

[此贴子已经被作者于2012-9-14 14:21:05编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/9/14 14:38:00
--  

看看合成的条件是什么:

 

Dim et As Date = e.Form.Controls("ETime").value
Dim year As Integer = et.Year
Dim month As Integer = et.Month
Dim st As Date
st = new Date(Year,Month,1)

Dim bd1 As New SQLGroupTableBuilder("统计表1","入库")
bd1. 连接外雇数据源
Dim dt1 As fxDataSource
bd1.Groups.AddDef("产品类型")
bd1.Groups.AddDef("品番")
bd1.Groups.AddDef("库位")
bd1.Totals.AddDef("数量","入库_数量") \'对数量进行统计
bd1.filter = "{入库}.日期 >= \'" & cdate(st) & "\' And {入库}.日期 <= \'" & cdate(et) & "\'"

Messagebox.show(bd1.Filter)
dt1 = bd1.BuildDataSource()


--  作者:wyd
--  发布时间:2012/9/14 14:52:00
--  

这个条件写的有错误?


--  作者:lin_hailun
--  发布时间:2012/9/14 14:59:00
--  
 显示出来看看,看看得到的日期是否符合你的要求.....
--  作者:wyd
--  发布时间:2012/9/14 15:07:00
--  

你好,执行后,条件正确,

得出的数据怎么是不对的呢?


--  作者:wyd
--  发布时间:2012/9/14 15:09:00
--  
找到原因了,谢谢,孤爸哈