我在访问查询中有一个IIf语句计算字段,该字段使用多个OR
条件检查同一列。
随着这个列表的增加,有没有比我知道的更好的方法了,我不想不必继续创建一条不断增长的线。
任何建议将不胜感激。
IIF (field1 = "NAME 1" OR field1 = "NAME 2" OR field1 = "NAME 3"
OR field1 = "NAME 4" OR field1 = "NAME 5"
OR ... Continue to all names added, "True", "False")
答案 0 :(得分:3)
是的,您可以执行一个简单的IN
语句:
IIF (field1 IN("NAME 1", "NAME 2", "NAME 3", "NAME 4","NAME 5"), "True", "False")
或者,您可以创建具有允许名称的表,并测试field1是否在该表中:
IIF (Exists(SELECT 1 FROM TableNames WHERE Field1 = TableNames.Name), "True", "False")
我建议第二种方法,如果要在多个地方使用的东西很多,则应将其存储在表中,而不是将其复制粘贴。