从 VB 调用时,NZ() 函数似乎不起作用,是否有替代方法
The NZ() function seems not to work when called from VB, is there an alternative
我正在处理添加查询。
在添加查询中,我试图用真值或假值填充字段 C
,具体取决于字段 A
.
中的值
如果字段 A
中的值等于 -1
,则字段 C
中的值应为 true
(-1)
我认为解决方案如下所示,但我得到的结果是 #Error
:
C: IIf([A]='-1',True,False)
似乎 return 预期结果的解决方案如下:
B: IIf(Nz([A])='-1',True,False)
这个(NZ 函数)的问题在于,当 运行 使用 VB(ADO、DAO 或 OLEDB)
进行查询时,它会抛出错误
我的问题是:
在不使用 NZ 函数的情况下,可以使用什么公式来获得所需的结果
所需的结果在字段 B
中给出
由于您使用引号,我假设您的值是一个字符串。在这种情况下,Nz
会将 Null
转换为 zero-length 字符串。
您可以通过简单地连接一个空字符串来实现相同的目的:
IIf([A] & ''='-1',True,False)
一个更通用的解决方案是使用 IIf
,它允许您指定空值的替代值:
IIf(IIf([A] IS NULL, '', [A]) = '-1', True, False)
由于[A]
是数字,你只需要将它与True
进行比较:
C: [A]=True
我正在处理添加查询。
在添加查询中,我试图用真值或假值填充字段 C
,具体取决于字段 A
.
中的值
如果字段 A
中的值等于 -1
,则字段 C
中的值应为 true
(-1)
我认为解决方案如下所示,但我得到的结果是 #Error
:
C: IIf([A]='-1',True,False)
似乎 return 预期结果的解决方案如下:
B: IIf(Nz([A])='-1',True,False)
这个(NZ 函数)的问题在于,当 运行 使用 VB(ADO、DAO 或 OLEDB)
进行查询时,它会抛出错误我的问题是:
在不使用 NZ 函数的情况下,可以使用什么公式来获得所需的结果
所需的结果在字段 B
由于您使用引号,我假设您的值是一个字符串。在这种情况下,Nz
会将 Null
转换为 zero-length 字符串。
您可以通过简单地连接一个空字符串来实现相同的目的:
IIf([A] & ''='-1',True,False)
一个更通用的解决方案是使用 IIf
,它允许您指定空值的替代值:
IIf(IIf([A] IS NULL, '', [A]) = '-1', True, False)
由于[A]
是数字,你只需要将它与True
进行比较:
C: [A]=True