【发布时间】:2013-01-27 00:28:51
【问题描述】:
感谢对先前question 的出色回答(感谢 Hansup 和 Remou),我制作了一个基于 ADODB 记录集的 Access 表单,该记录集在运行时拉取。这使它有一个仅在内存中的复选框。复选框很好。
我现在被要求将“客户”的下拉过滤器添加到表单中。很容易。我做了下拉框,对控件源做了一点查询,在After_Update事件中,添加了这段代码:
Private Sub Combo_PickClient_AfterUpdate()
Me.Filter = "Client='" & Combo_PickClient.Value & "'"
Me.FilterOn = True
Me.Refresh
End Sub
出于测试目的,我选择了 2 个客户端。当我打开表单时,它显示了两个客户的数据(好)。当我选择一个客户端时,它成功过滤了数据(也很好)。当我选择第二个客户时,它什么也没做(不太好)
为什么这个过滤器只能工作一次?它不会抛出任何错误。屏幕只需刷新即可。
【问题讨论】:
-
断开连接的记录集功能有限。您需要提及您正在使用这样的记录集。
-
是否可以让这个下拉菜单按预期工作?
-
您是指DAO(标题)还是ADO(问题主体)?它们是不同的方法...您是否尝试在应用新过滤器之前清除任何现有过滤器(设置为“”或
adFilternone)? -
感谢@Hansup 编辑标题。
标签: vba ms-access ms-access-2007