设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2913|回复: 4
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-6 10:07:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一个窗体,设置很多文本框,可以填写相关查询参数,查询结果显示在列表框中,因为不一定每次都要输入所有的参数,所以列表框的数据来源(为一个查询)的条件参数一般用:
like  “*" & [参数] & "*" 来表示,这样,即使这个参数为空 ,也能得到查询结果,但假如参数里面包含日期(日期区间between ... and ...),这个时候应该怎么写查询参数,才能在日期参数为空的情况下也能得出查询结果?
给个例子也行啊,谢谢了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-8-6 10:14:01 | 只看该作者
Between (IIf(IsNull([Forms]![产值查询窗口]![开始日期]),#2000-01-01#,[Forms]![产值查询窗口]![开始日期])) And (IIf(IsNull([Forms]![产值查询窗口]![结束日期]),Now(),[Forms]![产值查询窗口]![结束日期]))
开始日期你可以根据实际来设
3#
 楼主| 发表于 2010-8-6 10:31:30 | 只看该作者
本帖最后由 panjianhui 于 2010-8-6 10:34 编辑

楼上的是方法之一,但是有没有这样一种解决办法:
用一个条件语句判断,假如日期参数为空的时候,直接忽略日期参数,
假如日期参数不为空,那么me.list0.rowsource=".......   between #开始日期# and #截止日期#,
现在问题就是如果列表框只是一个简单的查询语句就可以描述,那么上面这样写也不复杂,但查询用到好多参数,前面的查询语句就比较复杂了,就是有没有办法前面(....的地方)能简单表述出来?
4#
 楼主| 发表于 2010-8-8 11:58:54 | 只看该作者
自己再顶一下,看看哪位大侠有更好的办法没有?!
5#
发表于 2010-8-8 13:05:16 | 只看该作者
自己再顶一下,看看哪位大侠有更好的办法没有?!
panjianhui 发表于 2010-8-8 11:58

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-7 05:46 , Processed in 0.090444 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表