我有一个选择查询,它根据表单中的 2 个日期返回记录 - >=Forms!frmReport!StartDate AND <=Forms!frmReport!EndDate
。问题是,每当用户在两者中输入相同的日期StartDate
并且EndDate
没有记录返回时,即使我确定表中存在符合条件的数据。谁能说出为什么查询没有返回任何信息?
问问题
2097 次
2 回答
1
如果要比较的字段是rs("Date")
,请尝试
Int(rs("Date")) >=Forms!frmReport!StartDate AND Int(rs("Date")) <=Forms!frmReport!EndDate
对于查询生成器,将您的日期检查字段修改为如下所示:
替换YourDateField
为您的字段名称。
如果时间相关,请去掉查询构建器中的字段表达式,而是将记录的字段与:
>=Forms!frmReport!StartDate AND <= iif(Forms!frmReport!EndDate = Forms!frmReport!StartDate, dateadd("d",1,Forms!frmReport!EndDate), Forms!frmReport!EndDate)
此表达式表示如果结束日期与开始日期相同,则添加一天,否则仅使用结束日期。
于 2014-04-28T22:26:46.923 回答
1
将表单值转换为查询中的日期值:
>= cdate(Forms![frmReport]![StartDate]) and <= cdate(Forms![frmReport]![EndDate])
并将您的字段默认设置为=date()
仅捕获日期,而不是=now()
.
于 2014-04-28T23:04:38.717 回答