我需要在MS Access数据库中运行查询,提供表单中的一些参数。想象一下下一个示例:
我有一个表格,其中包含:
- 复选框 1 和文本 1
- 复选框 2 和文本 2
- 按钮(用于运行查询(
现在假设一个包含两个字段的查询:ID
、NAME
。
我想仅在启用复选框 1 时按文本 1 过滤ID
。如果没有,我希望查询不要以任何方式过滤ID
(就好像"查询"输入为空一样(。
同样,我只想仅在启用复选框2时按Text2过滤NAME
。如果没有,我希望查询不要以任何方式过滤NAME
(就像ID
以前一样(。
几天来,我已经尝试了很多东西,并且嗅了大量的互联网页面,但仍然没有提出解决方案。
您可以使用如下所示的 SQL 查询:
select * from YourTable t
where
([Forms]![YourForm]![CheckBox1] = False or t.ID = [Forms]![YourForm]![Text1]) and
([Forms]![YourForm]![CheckBox2] = False or t.NAME = [Forms]![YourForm]![Text2])
(将YourTable
更改为表的名称,YourForm
更改为表单的名称;t
只是一个别名,因此您只需在代码中的一个位置更改表名(。