我希望用户能够根据复选框中的值将查询结果过滤到INclude或EXclude字符串。 Checkbox被正确引用,并且在检查时确实仅对Hackney进行过滤,但是当未选中时," not" part(错误地)给出零记录
IIf([Forms]![Navigation]![TEST]=True,"Hackney",Not In ("Hackney"))
任何建议都非常受欢迎,我们整个上午都在尝试不同的选择。
答案 0 :(得分:1)
你无法做你想做的事。您正尝试通过此IIf
语句构建SQL查询。
基于我认为你想要的东西,你的案例中有以下几点:
select ... /* your select fields */
from .... /* your table(s) */
where .... /* the rest of your conditions */
and (
([FieldName] = "Hackney" And [Forms]![Navigation]![TEST] = True)
or
([FieldName] Not In ("Hackney") And [Forms]![Navigation]![TEST] = False)
)
答案 1 :(得分:0)
非常好的东西非常感谢,这是一种享受。事实上,当你通过Query Builder
查看它时,它实际上可以正常工作(由于各种原因它更适合)。
对于其他任何正在努力解决这个问题的人来说,我已经在这个提示之后更进了一步,并将喜欢/不喜欢的内容与组合中的值相关联,而不是硬编码的" Hackney"上文提到的。同样适用于Query Builder
,这为我的用户提供了正确运行自己的查询的灵活性。
再次感谢。这个SQL
是:
SELECT Clients.CLIENTSID, Clients.FirstName, Clients.LastName,
LondonBoroughs.LondonBorough, Clients.LondonBoroughID
FROM LondonBoroughs INNER JOIN Clients
ON LondonBoroughs.LONDONBOROUGHSID = Clients.LondonBoroughID
WHERE (((Clients.LondonBoroughID) Like ([Forms]![Navigation]![ReportsLondonBoroughCOMBO]))
AND (([Forms]![Navigation]![TEST])=True))
OR (((Clients.LondonBoroughID) Not Like ([Forms]![Navigation]![ReportsLondonBoroughCOMBO]))
AND (([Forms]![Navigation]![TEST])=False));