我有一个Access查询,它查看表单以查看选择了3个单选按钮(在名为frmStatus的组中)中的哪一个。如果选择第一个,则IIF返回“True”,如果选择第二个,则返回“False”,但如果选择第三个,我希望IIF绝对不返回,因此标准实际上是空的
现在,这是我的标准:
IIf([Forms]![SP_Search_Criteria]![frmStatus]=3,Like "*",IIf([Forms]![SP_Search_Criteria]![frmStatus]=1,True,False))
使用SQL(忽略Date()部分 - 按年龄搜索):
WHERE ((((Date()-[DoB])/365.25)>=[Forms]![SP_Search_Criteria]![txtMinAge] And ((Date()-[DoB])/365.25)<[Forms]![SP_Search_Criteria]![txtMaxAge]) AND ((StandardizedPatients.Active)=IIf([Forms]![SP_Search_Criteria]![frmStatus]=3,(StandardizedPatients.Active) Like "*",IIf([Forms]![SP_Search_Criteria]![frmStatus]=1,True,False))))
选项1和2工作得很好......我似乎无法让选项3工作。
所以,我的问题是这样的:如果没有标准,我可以在查询条件中将IIF放入有效搜索中吗?
答案 0 :(得分:0)
我得到了它的工作 - 我所做的就是删除“Like”*“”部分,所以现在WHERE看起来像这样:
WHERE ((((Date()-[DoB])/365.25)>=[Forms]![SP_Search_Criteria]![txtMinAge] And ((Date()-[DoB])/365.25)<[Forms]![SP_Search_Criteria]![txtMaxAge]) AND ((StandardizedPatients.Active)=IIf([Forms]![SP_Search_Criteria]![frmStatus]=3,(StandardizedPatients.Active),IIf([Forms]![SP_Search_Criteria]![frmStatus]=1,True,False))))