如何根据在表单上的组合框控件中输入的内容从查询中选择所有记录

Posted

技术标签:

【中文标题】如何根据在表单上的组合框控件中输入的内容从查询中选择所有记录【英文标题】:How to select All Records from a Query based on what is entered in a combo box control on Form 【发布时间】:2016-02-03 10:20:40 【问题描述】:

我有一个名为 qryFlightPrices 的查询。它包含四个字段。其中一个字段称为Favs

在此查询的 Favs 字段中,我输入了过滤条件,该条件引用对话框表单上的组合控件。我输入了像这样 [Forms]![frmFlightPrices]![Favs]

的 Favs 字段的条件

组合控件的行源代码是这样的:

SELECT DISTINCT AirportRoutes.Favs 
FROM AirportRoutes; 
UNION Select "<All>" From AirportRoutes
ORDER BY Favs;

从组合框下拉菜单中,我有以下三个选项:

全部,

仅限节假日,

搬家

当我选择“仅限假日”和“搬迁”选项时查询有效

问题

当我从组合框中选择 All 以查看 Favs 字段中的所有记录时,查询不会返回任何结果。

当我将组合留空时,查询也不返回任何结果。

如何让查询返回所有结果

谢谢

【问题讨论】:

【参考方案1】:

将查询 qryFlightPrices 的 WHERE 子句从:

[Favs] = [Forms]![frmFlightPrices]![Favs]

到:

1 = iif([Forms]![frmFlightPrices]![Favs] = "<All>", 1, iif([Favs] = [Forms]![frmFlightPrices]![Favs], 1, 0))

如果我误解了您的 WHERE 子句,请提供查询,以便我们直接处理。

【讨论】:

谢谢,我是否在上面代码的开头包含 1= iif 不,它在您的qryFlightPrices 中。请把这个查询的SQL代码贴出来,这样对你的帮助会更容易。

以上是关于如何根据在表单上的组合框控件中输入的内容从查询中选择所有记录的主要内容,如果未能解决你的问题,请参考以下文章

如何根据用户表单组合框选择查询单元格中的数据并将数据复制到用户表单文本框中

当用户从 MS Access 的组合框中选择“其他”时,如何显示输入表单?

使用导航子窗体上的控件访问查询参数

将带有数据的查询从父表单中的组合框输入到子表单中的列表框

如果实现在combobox控件输入框中输入值而下拉列表弹开并显示根据输入值模糊查询查询数据库中的内容呢?

带有用户表单上的建议列表的可搜索组合框