我在MS Access中使用一个函数来返回带有DLookup的Query字段值。该函数将值从查询中的现有字段传递给strPersonType
。
当该字段中存在值时,该函数正常工作,但是当没有值存在时,它返回#Error
。在这种情况下,我希望它返回Null
或空白值。
我已尝试过错误处理和If
语句(如下所示),到目前为止我无法修复它。
无论我尝试什么,字段值都会显示为#Error
。
Function LookUpPersonType2(strPersonType As String)
'Used to look up Person Type2 in the "Person Type Key" table given PERSON_TYPE
'Returns original supplied name if no variation
If IsNull(strPersonType) Or strPersonType = "" Then
LookUpPersonType2 = ""
Else
If IsNull(DLookup("[Person Type2]", "[Person Type Key]", "[PERSON_TYPE] ='" & strPersonType & "'")) Then
LookUpPersonType2 = strPersonType
Else
LookUpPersonType2 = DLookup("[Person Type2]", "[Person Type Key]", "[PERSON_TYPE] ='" & strPersonType & "'")
End If
End If
Debug.Print LookUpPersonType2 & ","
End Function
答案 0 :(得分:1)
我意识到我需要将传递的参数更改为Variant变量类型,因为该值可能为NULL。最初它是字符串变量类型,字符串不能为NULL。谢谢!