【问题标题】:MS access combo box "All" option not workingMS 访问组合框“全部”选项不起作用
【发布时间】:2018-03-27 19:48:26
【问题描述】:

我使用联合查询在 msaccess 2010 的组合框中获取 all 选项。

All 选项现在已成功显示在我的组合框中。但是,当我在组合框中选择 All 选项时,它并没有一次选择所有类别,而是显示空白表格。

谁能请教下面的语法有什么问题?

SELECT tbl_XXXXXX.ID, tbl_XXXXXX.YYYYYY FROM tbl_XXXXXX 
UNION select 0 as AllChoice, '(All)' as Bogus from tbl_XXXXXXX

我的表单属性行源

SELECT * FROM tbl_AAA WHERE YYYYY = 'ZZZZZ';

提前致谢

【问题讨论】:

  • 组合框行源看起来没问题,您需要检查表单的记录源 - 它必须处理id = 0 的情况。请编辑您的问题并添加表单记录源。
  • 您好,感谢您的快速回复。我不是使用 MS 访问的专家。只是一个初学者。我在我的问题中添加了表单行源。请提供您的建议。我真正需要的是,我有一个组合框,用于过滤子表单中的类别,我成功地做到了。但是我需要“所有”类别需要包含在我的组合框中,如果我在组合框中选择“所有”选项,则子表单需要显示所有类别。但不幸的是,它显示为空白。
  • 表单行源根本没有对组合框的引用,那么它应该如何过滤任何东西?
  • 你能帮我解决这个问题吗?你的意见来纠正这个

标签: ms-access combobox ms-access-2010


【解决方案1】:

表单行源 SQL 需要处理组合框中的 0 选项。试试:

SELECT * FROM tbl_AAA WHERE YYYYY = 'ZZZZZ' OR 0 = 'ZZZZZ';

“ZZZZZ”代表您的组合框值。

关键是,当您的组合框值为零时,您希望 SQL 语句中的 WHERE 条件对所有内容都评估为 TRUE。当组合框为非零时,所选值将限制结果并且 OR 条件为 false。当组合框返回零时,WHERE 子句的第一部分将为 false,但由于 0 = 0,所有行都将从基础表返回。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多