Office中国论坛/Access中国论坛

标题: 【求助】如何限定列表框的时间范围(列表框的数据来源为一个复杂点的查询)? [打印本页]

作者: panjianhui    时间: 2010-8-6 10:07
标题: 【求助】如何限定列表框的时间范围(列表框的数据来源为一个复杂点的查询)?
有一个窗体,设置很多文本框,可以填写相关查询参数,查询结果显示在列表框中,因为不一定每次都要输入所有的参数,所以列表框的数据来源(为一个查询)的条件参数一般用:
like  “*" & [参数] & "*" 来表示,这样,即使这个参数为空 ,也能得到查询结果,但假如参数里面包含日期(日期区间between ... and ...),这个时候应该怎么写查询参数,才能在日期参数为空的情况下也能得出查询结果?
给个例子也行啊,谢谢了!
作者: wuheng    时间: 2010-8-6 10:14
Between (IIf(IsNull([Forms]![产值查询窗口]![开始日期]),#2000-01-01#,[Forms]![产值查询窗口]![开始日期])) And (IIf(IsNull([Forms]![产值查询窗口]![结束日期]),Now(),[Forms]![产值查询窗口]![结束日期]))
开始日期你可以根据实际来设
作者: panjianhui    时间: 2010-8-6 10:31
本帖最后由 panjianhui 于 2010-8-6 10:34 编辑

楼上的是方法之一,但是有没有这样一种解决办法:
用一个条件语句判断,假如日期参数为空的时候,直接忽略日期参数,
假如日期参数不为空,那么me.list0.rowsource=".......   between #开始日期# and #截止日期#,
现在问题就是如果列表框只是一个简单的查询语句就可以描述,那么上面这样写也不复杂,但查询用到好多参数,前面的查询语句就比较复杂了,就是有没有办法前面(....的地方)能简单表述出来?

作者: panjianhui    时间: 2010-8-8 11:58
自己再顶一下,看看哪位大侠有更好的办法没有?!
作者: todaynew    时间: 2010-8-8 13:05
自己再顶一下,看看哪位大侠有更好的办法没有?!
panjianhui 发表于 2010-8-8 11:58

请参见《切掉尾巴》一文。






欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3