使用“全部”或“任意”选项搜索组合框

时间:2013-12-27 03:10:12

标签: sql combobox

在MS Acccess中,我的表格中有一列使用下拉菜单选择字段的值,有六个可能的选项。我试图在我的表单中创建相同的下拉菜单/组合框,以便当选择列表中的特定选项时,它将过滤我的搜索查询。我已经做到了这一点并在这里没有问题。

但是我想在组合框中有一个选项,它会显示“Any”或“All”,其行为方式将显示所有记录。就像当组合框最初为空时没有选择任何内容并且查询显示所有记录时。

我已经在互联网上研究了几种方法,但我无法让它正常工作。

我已将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] & "*"

1 个答案:

答案 0 :(得分:1)

最后,我根据给出here

的建议使其工作

像这样的构造查询

SELECT [id], [colourtype] 
FROM   [testtable] 
UNION 
SELECT 0, "any" 
FROM   [testtable];

并将此查询设置为组合框的行来源

控制源属性中,选择colourtype

现在,组合框显示值。希望这有帮助