mci*_*ka1 2 excel ms-access vba
我正在尝试在 MS Access 中编写一个表达式,该表达式在返回错误后"New Policy"在语句中返回一个文本字符串 。
当我将数据从 Access 导出到 Excel 时,它告诉我无法识别。
这个功能有替代方案吗?我的Access表达式如下:Iif()Nz()
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")
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)