我有一个ACCESS数据库,其中包含一个以日期作为字段之一的表。我可以创建一个表单,允许用户输入开始日期和结束日期,然后在查询中使用这些表单来过滤那些日期之间的记录的日期。但是我希望结束日期是可选的,所以如果用户只输入开始日期,查询将返回大于该日期的记录。我试图用一个查询执行此操作,但没有进入VBA,但不确定是否可以这样做。
我尝试了类似的东西,但它没有用......我收到错误消息,说法语不正确或者根本没有结果。
在我尝试的日期字段标准中 IIF(ISNULL([窗体]![frmdateselect]![结束日期]), (大于!= DateValue将([表格] [frmdateselect] [开始日期])), ((> = DateValue([Forms]![frmdateselect]![startdate]))AND (小于!= DateValue将([表格] [frmdateselect] [结束日期]))))
任何帮助都会很棒
答案 0 :(得分:1)
您是否尝试使用Nz功能替换IsNUll?
IIF(Nz([Forms]![frmdateselect]![enddate]),0),
([Forms]![frmdateselect]! [enddate]),
(>=DateValue([Forms]![frmdateselect]![startdate])),
((>=DateValue([Forms]![frmdateselect]![startdate])) AND
(<=DateValue([Forms]![frmdateselect]![enddate]))))