【发布时间】:2018-10-29 02:33:48
【问题描述】:
我使用 Excel 中的用户表单在我的电子表格之间运行一些内部查询。
但是我收到Invalid Use of Null。我知道nz null 语法(SQL MS Access - Invalid Use of Null),但是我的查询可能非常大,我想知道是否可以在我的 VBA 代码中添加任何内容以允许空值。
【问题讨论】:
-
ISNull()函数呢? -
我们需要查看正在对数据库执行的 SQL。我猜你传入的参数之一没有正确处理 null ,所以当你需要它时会出现
where SomeField = NULL之类的东西where somefield = nz(Parm,'')但是因为它没有足够的信息来真正提供帮助。 -
我看到两个选项;在最外层的每个选定值中选择将字段名称包装在 NZ(fieldName,'') 中以确保在那里处理所有空值:2) 将每个选定值包装在 NZ(FieldName,'') 的内部查询中以确保空值在那里处理。每当您通过字符串比较(例如 IN、= 、你很好;这是您不确保不为空的值之一;这需要一些时间才能弄清楚
-
可能先在此处添加 NZ...
select [poly_EUC_ID],nz(RiskReportProductType,''),PolyMaturity from [mapped_polytypes$]然后如果不处理内联视图/派生表中的空值,则每个 switch 语句中涉及的字段。在查询中使用 NZ 时,您需要再次将列重新命名为相同的名称...... -
@xQbert ,我尝试了这一行,不确定是否必须将其全部添加,但我现在收到错误
Undefined function 'nz' in expression