访问报告字段从非空列错误拉出而没有NZ()函数

时间:2013-07-23 23:23:31

标签: sql-server ms-access

我正在努力将Access数据库转换为SQL Server后端。我已经完成了大部分工作,但有一点我还没弄清楚,在我们运行的一个报告中,有几个字段显示为#Error!字段的控制源是:

=DSum("[CustomerMinutes]","QryOutageSummaryByDateRange","NZ([CityRelated])= 0")

它如图所示正常工作,但加载报告需要花费更长的时间,CityRelated字段是非空字段,所以我觉得我不需要使用{{1}功能。我在数据表视图中打开了查询,并且恰当地没有任何NULL。我很乐意提供更多细节,我只是不知道我应该提供哪些其他信息。任何帮助或总体方向将不胜感激!

1 个答案:

答案 0 :(得分:0)

数据库功能(DSUM等)对括号的使用很挑剔。试试这个。

=DSum("IIF([CustomerMinutes] Is Null,0,[CustomerMinutes])","[QryOutageSummaryByDateRange]","[CityRelated] Is Null Or [CityRelated]=0")

如果CustomerMinutes永远不是NULL,那么你可以使用CustomerMinutes作为第一个参数。

请注意,方括号围绕表或查询名称,对于单个字段名称不一定是必需的。 (这与示例在帮助系统中的显示方式相反。)

我总是更愿意避开新西兰 - 根据我的经验,它可能导致聚合函数出现问题,或者在查询序列中使用时。