2017-02-21 70 views
0

我正在开发一些MS Access报告;其中一个需要知道某个特定的日期/时间字段是否为空,另一个则相反。我试着在报表属性表的数据选项卡Filter属性如下:如何在MS Access报告中按日期/时间过滤?

IsNull(Assets.[Sales Date Seller Paid]) 

当我看的报表视图,日期/时间的项目往往是空的,但实际的日期值显示为好。

Report showing invalid date/time data

上午我在正确的轨道?

+0

我只使用,如果我有一个报告,我希望过滤器动态更改。通常我会将任何永久过滤添加到报告的记录源。 – SunKnight0

+0

您可以在报告顶部添加一个按钮,将过滤器切换为空或非空(选项或复选框,或...) –

回答

0
在访问

IsNull功能与别的东西代替空值(指定为函数的第二个参数,但离开这个空白将返回不知道? - 可能取决于第一个参数的数据类型) 。无论如何,你真正需要的是:

Assets.[Sales Date Seller Paid] Is Null 

是的,正如@ SunKnight0说,这将可能是更好地包括在基础查询。

+0

您确定您没有考虑过'Nz()'吗? 'IsNull'应该测试一个表达式是否为null并且返回一个布尔值。它不会替换任何值。我同意,'是空'是去这里的正确方法。 – Brad

+0

糟糕! SQL Server在那里爬行。感谢您的更正。在这种情况下,为什么'IsNull'不能完成这项工作? – Skippy

+0

这是一个用于测试变量是否为空的VBA表达式(类似于对于对象的“无”)它不是真正的“访问”函数,因为完整的函数是'VBA.Information.IsNull()',它确实是一个VBA事情。因为column为null与变量为null不同,所以它不是要使用的东西。至于*为什么*是这种情况....我不知道。 – Brad