为什么我不能使用:
rep8_bc = IIf(IsNull(rs(8)), "null", Replace(rs(8), "'", "''"))
它说“无效使用空”
但如果我删除替换,它的工作。然后得到错误,因为记录有一个撇号字符,所以我将代码更改为:
rep8_bc = "null"
If IsNull(rs(8)) = False Then rep8_bc = Replace(rs(8), "'", "''")
或者这个:
If IsNull(rs(8)) = False Then
rep8_bc = Replace(rs(8), "'", "''")
else
rep8_bc = "null"
end if
答案 0 :(得分:4)
很可能编译器不会在IIF()语句中短路。编译器在返回之前将其作为整个语句(两个值)。这就是你得到错误的地方。因此,破解成适当的条件状态将成为关键。所以你有任何成就你的答案。 为了进一步添加,IIF()在执行中的执行速度远比IF-ELSE更慢。