以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  日期筛选  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=26579)

--  作者:cks
--  发布时间:2012/12/8 16:44:00
--  日期筛选

在窗体中加入了一个日期输入框控件,如图:

 

其它的两个控件查询没问题,就是这个日期,不知道怎么连接,

 

求解图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20121208163759.png
图片点击可在新窗口打开查看

--  作者:cks
--  发布时间:2012/12/8 16:45:00
--  
填入日期后筛选出的是大于当天日期的数据
--  作者:cks
--  发布时间:2012/12/8 16:48:00
--  

这是前面两个条件的筛选代码,怎么连接日期控制的代码呢?

Dim bm As WinForm.ComboBox = e.Form.Controls("部门")
Dim xm As WinForm.ComboBox = e.Form.Controls("姓名")
Dim sqsj As WinForm.DateTimePicker = e.Form.Controls("申请时间")
Tables("出差申请表").Filter="部门 = \'" & bm.Text & "\' and 申请人姓名 like \'*" & xm.Text & "*\'"


--  作者:lin_hailun
--  发布时间:2012/12/8 16:56:00
--  
 Tables("出差申请表").Filter="部门 = \'" & bm.Text & "\' and 申请人姓名 like \'*" & xm.Text & "*\' And 申请时间 > #" & sqsj.Text & "#"
--  作者:cks
--  发布时间:2012/12/8 17:14:00
--  

问题解决了,填写日期时候可以筛选,但是申请时间如果没填写的时候就会报错:表达式包含无效的日期常量“##”。

 

 


--  作者:lin_hailun
--  发布时间:2012/12/8 17:23:00
--  
  Tables("出差申请表").Filter="部门 = \'" & bm.Text & "\' and 申请人姓名 like \'*" & xm.Text & "*\' And 申请时间 > #" & IIF(sqsj.Text = "", "1900/1/1",  sqsj.Text) & "#"

或者,加一个判断,为空的时候,提示填入。

--  作者:cks
--  发布时间:2012/12/8 17:28:00
--  
两者都能实现,多谢老师指点
--  作者:unverse
--  发布时间:2012/12/9 23:39:00
--  
有时候判断是否为空是很有必要,这样可减少代码出错的次数 。