在MS Access中,我的表中有一列使用下拉菜单为字段选择值,其中有六个可能的选项。我正在尝试在我的表单中制作相同的下拉菜单/组合框,这样当从列表中选择特定选项时,它将过滤我的搜索查询。我已经做到了这一点,在这里工作没有问题。
然而,我希望在组合框中有一个选项,它会显示"任意"或"全部",这将以显示所有记录的方式进行操作。就像当组合框最初为空时,没有选择任何内容,并且查询显示所有记录。
我在互联网上研究了几种方法来做到这一点,但我无法让它正常工作。
我已经将UNION添加到我的RowSource
查询中,如下所示:
SELECT [testtable].[colourtype]
FROM [testtable]
UNION
SELECT "any"
FROM [testtable];
我把这个添加到我的AfterUpdate
事件中:
If Me.ColourT = "Any" Then
strFilter = "*"
End If
奇怪的是:它让我的组合框列表中有空白值,有六个空格(白色),没有文本。
编辑:这是我在查询条件中的代码:
Like "*" & [Forms]![Search]![ColourT] & "*"
最后,我根据这里给出的建议使其发挥作用
像这样的构造的查询
SELECT [id], [colourtype]
FROM [testtable]
UNION
SELECT 0, "any"
FROM [testtable];
并将此查询设置为组合框的行源。
在控制源属性中,选择colourtype
。
现在组合框显示值。希望这能帮助