根据参数应用查询条件



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

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

  • 复选框 1 和文本 1
  • 复选框 2 和文本 2
  • 按钮(用于运行查询(

现在假设一个包含两个字段的查询:IDNAME

我想仅在启用复选框 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只是一个别名,因此您只需在代码中的一个位置更改表名(。

最新更新