Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access Access中的iif()语句_Ms Access_Iif - Fatal编程技术网

Ms access Access中的iif()语句

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]) 由于上下文是一

我有一个if语句返回一个#类型!Access中的“我的表单”错误:

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
)。。