0

我有一个动态搜索的表单。我正在使用一些非常讨厌的 Like *' & {value} & *' OR Like (etc) 参数在表单上设置过滤器。

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

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

可悲的是,推荐的方法似乎是用我的往返查询来访问数据库,这既讨厌又慢。

有没有办法通过从表格的“数据表”中读取值来“作弊”?

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

4

1 回答 1

0

当过滤器在表单上处于活动状态时,表单的.RecordsetClone对象会反映过滤后的集合,因此您应该能够使用它来填充和重新填充列表框。您必须进行一些试验才能找到适合您特定情况的“最佳”方法,但一种方法是找到一个在所需时间触发的表单事件(On Current也许?)并使用它来清除列表框并用于.AddItem在循环通过 RecordsetClone 的副本时重新填充它。

于 2013-06-25T12:18:38.620 回答