使用macro-MS Access使用组合框过滤表单

时间:2016-06-28 08:55:18

标签: ms-access filter combobox macros access

我在MS Access 2013中创建了一个多项目表单,用于从查询中获取数据。我已经使用宏创建了过滤器,但问题是它们只有在组合框中才有效,rowsource只是文本而不是表的内容。在我的情况下,这不是实际原因,我有几十个条目,我不能只使用其中的文本值。

到目前为止,我在宏中创建过滤器:

"=[project number]='" & [Forms]![MyForm]![comboboxProject] & "'" 

但它不起作用。我不知道是不是因为我有多个项目形式,而不是简单形式。顺便说一下,项目编号是我的数据列,只是文本。

经过数小时的调试后,我发现我的组合框有两列,一个是项目ID的隐藏列,另一列是项目编号。我尝试使用[comboboxProject] .Column(1),但它说没有定义函数Column。所以我需要找到一种方法,只从我的组合框中获取一列作为文本,问题就解决了。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

创建宏时,我使用应用过滤器而不是设置过滤器。 除此之外,代码的其余部分就像这样简单:

[project number]=[Forms]![MyForm]![comboboxProject]

答案 1 :(得分:0)

这应该有效:

Me.Filter = "[project number]='" & [Forms]![MyForm]![comboboxProject] & "'" 
Me.FilterOn = True