gpt4 book ai didi

sql - 使用 Access 查询中的条件全选

转载 作者:行者123 更新时间:2023-12-04 05:21:41 24 4
gpt4 key购买 nike

我有一个 Access 2007 查询。在标准中,如果表单中的过滤器设置为“查看所有组织”,我需要它选择所有记录。但是,我无法让它工作。以下标准:

=IIf([Forms]![Reports]![Referrals - Business Filter]="View all organisations","Like '*'")

该标准通常适用 - 如果我将“Like '*'”更改为特定的内容,例如“巴克莱”,然后它会选择该业务下列出的正确联系人,但这不是我想要实现的。

我做错了什么?

谢谢。

最佳答案

你发现了一些有趣的东西!您试图让查询计算的“Like *”不是文字字符串,而是逻辑表达式(计算结果为 True 或 False)。

当您使用 Iif 在 SQL 中的不同比较表达式之间切换时(严格地说,Iif 是 Access VBA,而不是 SQL,但 Access 允许您在一定程度上在查询中使用 VBA),您只能在文字值之间切换。例如1, 453.5, "This", "A customer name"。

切换到“LIKE *”表达式相当于即时编写 SQL。就像我说“我今天喝了 (Iif(It's Friday, (5-4), (6/2)) 杯咖啡”。你的大脑可以处理这种从字面英语到必须是评估(今天相当于英文字面词“one”);Access 也可以 - 在一定程度上。但不是评估这个的程度:

[AColumn] = "Like *"

并将其解释为
[AColumn] LIKE "*"

绕过它的方法是检查是否选择了“查看全部”到单独的测试中:
WHERE
([Selection on the form]="View all") OR
([AColumn]=[Selection on the form])

关于sql - 使用 Access 查询中的条件全选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13622890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com