如何解决MS Access 查询:使用传递的参数记录列表或参数“ALL”生成整个列表
我正在尝试将参数传递给我在标准字段中的查询。该参数包含在组合框 cboReportSender 的表单中。 cboReportSender 包含我为其运行报告的部门列表。列表中还包含“ALL”。选择此项后,我希望报告显示所有记录。我确定查询正在寻找一个字面上包含“Like *”的字段 我是不是从错误的角度来看这个?
IIf([Forms]![frmRunReport]![cboReportSender]=Trim(" ALL"),"Like *",[Forms]![frmRunReport]![cboReportSender])
解决方法
首先,我想知道您的组合框是选择了数字值还是字母数字值。但是,当我创建一个用于测试的数据库时,与运算符 Like *
结合使用时都不适合我。我需要输入 Like '\*'
,在星号前后各加一个引号。
更妙的是,添加带有数字和字母数字值的这个倒逗号的作品。
我需要更改的第二件事是添加第二个类似操作符。最后,您的标准将变为:IIf([Forms]![frmRunReport]![cboReportSender]=Trim(" ALL"),"Like '*'","Like '" & [Forms]![frmRunReport]![cboReportSender] & "'")
考虑在组合框选择 ALL
时返回字段本身。
SELECT ...
FROM ...
WHERE myDepartmentField = IIf(
TRIM([Forms]![frmRunReport]![cboReportSender]) = 'ALL',myDepartmentField,TRIM([Forms]![frmRunReport]![cboReportSender])
)
如果组合框为空,则使用 NZ
默认为字段本身。
WHERE myDepartmentField = IIf(
TRIM([Forms]![frmRunReport]![cboReportSender]) = 'ALL',TRIM(
NZ(
[Forms]![frmRunReport]![cboReportSender],myDepartmentField
)
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。