Ms access Access中的iif()语句
我有一个if语句返回一个#类型!Access中的“我的表单”错误:Ms access Access中的iif()语句,ms-access,iif,Ms Access,Iif,我有一个if语句返回一个#类型!Access中的“我的表单”错误: IIF([Responsible]=Null,"UNASSIGNED",[Responsible]) 我试图实现的是,它返回分配给某个任务的人员的姓名(不使用表达式),当没有人被分配时,它返回文本“UNASSIGNED”。我不清楚为什么它不起作用。就像他们说的,你不能在VBA中比较null,所以这样做: IIF(IsNull([Responsible]),"UNASSIGNED",[Responsible]) 由于上下文是一
IIF([Responsible]=Null,"UNASSIGNED",[Responsible])
我试图实现的是,它返回分配给某个任务的人员的姓名(不使用表达式),当没有人被分配时,它返回文本“UNASSIGNED”。我不清楚为什么它不起作用。就像他们说的,你不能在VBA中比较null,所以这样做:
IIF(IsNull([Responsible]),"UNASSIGNED",[Responsible])
由于上下文是一种访问表单,
Nz
可以更简洁地完成您需要的内容
Nz([Responsible],"UNASSIGNED")
不管怎样,你的逻辑是错误的。不能测试
null
是否相等。null不能等于任何值,包括它本身。这就是为什么有为null
<代码>iif([responsible]为null,x,y)任何内容都不能=null
或=空
Null
是未知值。改用IsNull()
(或者@MarcB提到的为Null
)。。