【问题标题】:Access VBA bound form filter访问 VBA 绑定表单过滤器
【发布时间】:2019-03-16 00:14:18
【问题描述】:

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

我已经尝试了几件事。当我在加载时不使用过滤器时,表单只会显示一个空白页。

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

我该如何实现?

表格

qryXYZ

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

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    不久前我做过类似的事情。在打开的表单中不要有记录源,但保留控件的控制源。使用“搜索”按钮点击事件设置表单的记录源:

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

    如果您想删除 #Name? 以使其看起来更好,您可以随时删除控制源,直到您单击搜索按钮。

    Me.txtField.ControlSource = "field1"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多