访问VBA绑定表格过滤器

时间:2018-10-11 02:10:11

标签: access-vba

我有一个访问表单,其中包含多个字段,这些字段根据记录源绑定到查询。还有一个带有按钮的文本框。理想情况下,当表单加载时,我希望所有字段为空,然后在文本框中输入值并单击按钮时,查询将对文本框中的值进行过滤。这是通过使用运行刷新命令的嵌入式宏来完成的。

我尝试了几件事。当我不在加载时使用过滤器时,表单仅显示空白页。

在加载时使用过滤器时,会出现一个弹出窗口,但是我必须在弹出窗口中输入两次或更多次查询查询值。根据提供的弹出值运行查询后,将正确绑定表单。但是,当我在文本框中输入一个值并单击按钮时,弹出窗口会再次出现,而不是使用文本框中的值执行查询并刷新页面,以便控件可以使用新值反弹。

我该如何实现?

表格 enter image description here

qryXYZ

SELECT field1, field2, field3, field4 FROM Table WHERE
(((Table.field4)=[Forms]![frmSearchForm]![SearchField]));

1 个答案:

答案 0 :(得分:0)

我前一段时间做过类似的事情。窗体上没有记录源,但要保留控件的控件源。使用“搜索”按钮的单击事件来设置表单的记录源:

me.Form.Recordsource = "SELECT field1, field2, field3, field4 FROM Table WHERE field4 = '" & me.SearchField & "'"

如果要摆脱#Name?的外观,为了使其外观更好,您可以始终删除“控制源”,直到单击搜索按钮为止。

我。 txtField .ControlSource =“ field1”