从MS Access中的表单填充列表框

时间:2013-06-24 18:54:55

标签: vba listbox ms-access-2010

我有一张我正在动态搜索的表单。 我在窗体上设置过滤器有一些非常讨厌的喜欢*'& {value}& *'或喜欢(等)参数。

令我惊讶的是,过滤器实际上运行得非常快。这很好。 但是,我所设计的设计要求我想要一个列表框,显示与过滤匹配的所有客户的客户名称。

现在,我知道Access已经有了这些信息,基本上我只想让列表框显示我看到的第一列,如果我点击数据表视图。

可悲的是,建议的方法是使用我的往返查询来点击数据库,这是令人讨厌和缓慢的。

有没有办法通过读取表格的“数据表”中的值来“欺骗”?

我尝试将表单的记录集分配给列表框的记录集,但Access不喜欢这样。

1 个答案:

答案 0 :(得分:0)

当表单上的过滤器处于活动状态时,表单的.RecordsetClone对象会反映过滤集,因此您应该可以使用它来填充和重新填充列表框。您将需要进行一些实验以找到针对您的特定情况执行此操作的“最佳”方法,但一种方法是找到在所需时间(On Current,也许?)触发的表单事件并使用只需清除列表框并在循环访问RecordsetClone副本时使用.AddItem重新填充它。