为什么我的DLookup产生"无效使用null"错误:94

时间:2016-01-22 15:33:06

标签: sql excel vba ms-access access-vba

在我的Access VBA代码中,我在序列中有几个DLOOKUP函数。它们都是相同的,除了它们从' studys'返回的参数值。

最后一个偶尔会产生错误:

  

无效使用null

产生错误的代码行是:

 necropsy = DLookup("[Necropsy]", "Studys", "[Primary Key] = " & ID)

研究中的尸检价值偶尔会为空日期,但这就是我正在查找的原因。

比较它上面的一行:

studyEnd = DLookup("[Study End]", "Studys", "[Primary Key] = " & ID)

此代码运行正常。它永远不会返回空值,因为研究结束永远不会为空。

什么了?

2 个答案:

答案 0 :(得分:1)

如果您有Dim necropsy As Date,则necropsy无法接受Null,因为Null不是日期/时间值。

如果您想允许necropsy接受Null,请改为使用变体:Dim necropsy As Variant

答案 1 :(得分:0)

VBA中的日期不能为空。

如果您只是删除变量声明,它将作为非空时的日期返回。