我试图使用查询生成器来基于表单上的用户输入来制定查询,但我遇到了问题。在iif声明中将“Like”与比较器混合?
我一直在使用这段代码来过滤和检查之前工作正常的空/“所有”字段。
Like IIf([Forms]![TransactionsForm]![ComboActStatus]="ALL","*",
[Forms]![TransactionsForm]![ComboActStatus])
但是我遇到了一个问题,当我想用表示范围的字段做同样的事情时。我试过这个:
IIf([forms]![TransactionsForm]![txtAmountFrom] Is Null Or
[forms]![TransactionsForm]![txtAmountTo] Is Null,
([dbo_customerQuery].[amount]) Like "*",
([dbo_customerQuery].[amount])>=[forms]! [TransactionsForm]![txtAmountFrom] And
([dbo_customerQuery].[amount])<=[Forms]![TransactionsForm]![txtAmountTo])
但它导致我的整个查询失败。我怎么能做这个类似的事情?在空情况下使用“Like *”(返回所有内容),但在第二种情况下使用比较器而不是“like”语句?
我在查询设计器中的条件内进行此操作,而不是where语句。那么,我在iif声明之前放什么?什么?或者它是如何开始的?由于这仍然不起作用。 – user3790592
你可以把1 = 1或其他一些标准永远是真的吗? –
它似乎仍然没有工作 – user3790592