Foxtable(狐表)用户栏目专家坐堂 → 统计代码中的日期过滤条件如何写代码?


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

主题:统计代码中的日期过滤条件如何写代码?

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
统计代码中的日期过滤条件如何写代码?  发帖心情 Post By:2012/9/13 18:21:00 [只看该作者]

各位老师,

在窗口中进行统计如下图:

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20120913-001.jpg
图片点击可在新窗口打开查看

 

代码如下:


Dim b As New SQLCrossTableBuilder("产品出货统计表","出库明细")
b.C
'b.Filter = "[出库日期] = e.Form.Controls("Year").Value

b.AddTable("出库明细","出库单号","出库单","出库单号")
b.AddTable("出库明细","产品编码","产品编码","产品编码")
b.HGroups.AddDef("{出库明细}.产品编码")
b.HGroups.AddDef("{产品编码}.产品系列")
b.HGroups.AddDef("{出库明细}.名称")
b.VGroups.AddDef("出库日期",DateGroupEnum.Year,"{0}年")
b.VGroups.AddDef("出库日期","{0}月")
b.Totals.AddDef("数量") '添加数量列用于统产计
b.HorizontalTotal = True '增加水平自动汇总
b.VerticalTotal = True  '增加垂直自动汇总
'b.Subtotal = True
Tables(e.form.Name & "_Table1").DataSource = b.BuildDataSource()

 

两个问题请教:

1、红色的那句代码是想筛选出“出库日期”的年度等于统计年度的数据,这句代码要怎么写?

2、上面那个“统计年度”本想提取“出库日期”的年来形成列表项,但不会写,现在是手工输入2012|2013这样来得到的。

 

谢谢!


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/9/13 18:57:00 [只看该作者]

b.Filter = "[出库日期] = #" & e.Form.Controls("Year").Value & "#"

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/9/13 19:25:00 [只看该作者]

谢谢CZY,运行后出错

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20120913-003.jpg
图片点击可在新窗口打开查看

 

是不是这里的设置有问题

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20120913-002.jpg
图片点击可在新窗口打开查看

 

忘了说一下,表中的出库日期是个具体的日期如:2012-08-21

[此贴子已经被作者于2012-9-13 19:27:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/9/13 19:39:00 [只看该作者]

组合框?


='" &  e.Form.Controls("Year").Value & "'"

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/9/13 19:47:00 [只看该作者]

Dim y As String = e.Form.Controls("Year").Value
Dim a As Date = New Date(y,1,1)
Dim b As Date = New Date(y,12,Date.DaysInMonth(y,12))
b.Filter = "[出库日期] >= #" & a & "# And 出库日期 <= #" & b & "#"

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/9/13 19:47:00 [只看该作者]

谢谢!还是不可以,应该是提取出库日期中的年出来作为条件,但我不知道怎么写,类似这样

 

b.Filter = "[出库日期].year = '" & e.Form.Controls("Year").Value & "'"

 

 


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/9/13 19:49:00 [只看该作者]

抬头看。


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/9/13 20:00:00 [只看该作者]

可以了,但#号要改朱兄那样才可以。

b.Filter = "[出库日期] >= '" & a1 & "' And 出库日期 <= '" & a2 & "'"

 

谢谢两位老师!



 回到顶部