使用vba过滤MS Access子表单

时间:2014-04-03 15:24:35

标签: ms-access filter subform

我有一个简单的问题。我开发了一个预订系统,其中包含一个子表单,其中包含在显示日期(主表单)中预订的所有房间。我添加了一个组合框,允许用户过滤房间,只看到他们从组合框中选择的房间(重新查询子表单,然后过滤)。

除了我的代码有时会在到达子结尾之后没有明显原因循环通过过滤子的事实之外,这种方法很好。它正确地显示了所有内容,所以我不会为此烦恼(除非它与真正的问题有关)。

我遇到的真正问题是当我选择一个没有预订日期的房间时。过滤器工作正常(空显示),但是当我尝试从组合框中选择另一个房间时,更新组合框后面的重​​新查询功能不起作用!

有没有其他人经历过这个?

工作流程:

组合框触发“更新后”事件。这会重新查询子表单,在“当前”事件后面会发生对子表单的过滤。

当子表单为空时,我无法再执行任何子表单重新查询。

1 个答案:

答案 0 :(得分:1)

我做了类似的事情并且很难用这个但是能够在我的combo_box_afterupdate事件中使用以下代码修复它。

Dim rs As Object
Me.Form.Filter = ""
Me.Form.Refresh
Set rs = Me.Recordset.Clone
rs.FindFirst "[ValueToFind] = '" & Me![MyComboBoxValue] & "'"
If Not rs.EOF Then Me.Bookmark = rs.Bookmark

还要确保将父母和孩子联系为最后一个人。

相关问题