以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 日期筛选 (http://foxtable.net/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
--
有时候判断是否为空是很有必要,这样可减少代码出错的次数 。
|