我在vba脚本中使用DCount。来源和标准都来自一张桌子。系统在大多数情况下都在工作,但是当条件包含用户定义的函数时,我会收到错误。
DCount代码是
Source = list.Fields("source")
criteria = list.Fields("Criteria")
x = DCount("*", Source, criteria)
失败的标准是" is_Pregnant = 1或Ddiff(HSDemographicsReport.Admin_Date,Infant_DOB)< = 30"
Ddiff功能
Function Ddiff(a, b)
If (IsNull(a) Or IsNull(b) Or a < b) Then
Ddiff = Null
Else: Ddiff = a - b
End If
End Function
根据记录,数据的Is_Pregnant = 1为true,false或null,Ddiff函数的计算结果为数字或null。条件短语在查询中起作用并返回true或null。
错误是
据我所知,所有部分都正常工作 - 但是当我把它们放在一起时我仍然会收到错误。问题是我不能以这种方式使用用户定义的函数,或者该函数返回Nulls?在任何一种情况下,我该如何纠正它?