使用VBA打开表单时更新访问表单

时间:2017-05-09 20:31:00

标签: forms vba ms-access combobox

我在Access中开发了一个表单,允许用户搜索与其参数匹配的记录。该表单有大约五个组合框,其中包含用户可以搜索的值。设置了一个查询,用于从组合框中提取值。关联的表单“F_FilterResults”将查询结果列为显示搜索结果的数据表。我在“F_FilterResults”的每个组合框上创建了一个AfterUpdate事件,以便在我用搜索参数更新组合框后,查询和表单将自行刷新。以下是“F_FilterResults”组合框中AfterUpdate事件的一些示例代码。

Private Sub CompanyState_AfterUpdate()
Forms![F_FilterResults].Requery
Forms![F_FilterResults].Refresh
End Sub

这仅在“F_FilterResults”表单打开时才有效。当它关闭时,我得到运行时错误'2450'消息,指示“Microsoft Access无法找到引用的表单'F_Filter'。当“F_Filter”表单未打开时,如何运行此代码?注意我不希望在从组合框中选择搜索参数后立即打开表单,因为用户可能希望向其他人添加更多搜索参数组合框。如果我编写“F_FilterResults”以在加载搜索表单时打开,则用户可以将其删除,并且不知道错误消息的含义。

1 个答案:

答案 0 :(得分:1)

您可以打开隐藏的表单。这就是" easy"回答。但是,这样做的必要性意味着你实现结果的方式并不是最好的。

我这样做的方法是,不是更新从组合框中提取值的表单,而是生成一个字符串,可以在打开时将其作为表单的过滤器应用。

相关问题