我正在尝试在 MS Access 中编写一个表达式,该表达式返回一个文本字符串 "New Policy"
,在返回一个错误。
当我将数据从 Access 导出到 Excel 时,它告诉我无法识别 Nz()
。
这个功能有替代品吗?我的 Access 表达式如下:
Nz(IIf([Policy Status]=[Input - WFAC Previous Day]![Policy Status 1],"Remains " & [Policy Status],[Input - WFAC Previous Day]![Policy Status 1] & " to " & [Policy Status]), "New Policy")
最佳答案
Nz
是在 Microsoft Access 类型库中定义的,当您的宿主应用程序是 Access 时会自动引用它。
如果您在 Excel 项目中添加对 Access 类型库的引用,您应该能够使用 Nz
...但是如果未安装 Access,您的 Excel 项目将无法运行,这……很奇怪而且相当笨拙。
Nz
是做什么的?看起来像某种 Coalesce
函数,您可以轻松实现并根据需要进行自定义。是这样的吗?
Public Function Coalesce(ByVal value As Variant, Optional ByVal value_when_null As Variant = 0) As Variant
Dim return_value As Variant
On Error Resume Next 'supress error handling
If IsEmpty(value) Or IsNull(value) Or (VarType(value) = vbString And value = vbNullString) Then
return_value = value_when_null
Else
return_value = value
End If
Err.Clear 'clear any errors that might have occurred
On Error GoTo 0 'reinstate error handling
Coalesce = return_value
End Function
关于excel - MS Access Nz() 函数无法在 MS Excel 中识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53766713/