根据参数应用查询条件

Apply query criteria based on parameters

我需要 运行 在 MS Access 数据库中进行查询,从表单中提供一些参数。想象下一个例子:

我有一个表格,其中包含:

现在想象一个包含两个字段的查询:IDNAME.

我只想在启用 CheckBox1 时按 Text1 过滤 ID。如果不是,我希望查询不要以任何方式过滤 ID(就好像 'query' 输入为空)。

同理,我只想在CheckBox2启用的情况下按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 更改为 table 的名称,将 YourForm 更改为表单的名称;t 只是一个别名,因此您只需在代码中的一处更改 table 名称。