更改DB数据或Requery后,Access 2007 VBA Listbox滞后

时间:2011-09-07 20:17:04

标签: vba listbox access-vba

我一直有一个非常烦人的问题,最近才开始发生。

我的列表框没有立即更新。例如,在我的主窗体上,“A”有一个带有sql语句的列表框(Simple ...返回5-20行)。我点击下面有一个编辑按钮,当点击时会打开一个新表单来更改数据。该表单提交更新查询,然后调用全局函数,该函数重新查询所有相关列表框(表单A上的列表框)。唯一的问题是列表框没有改变,似乎挂起/滞后。如果我选择列表框并连续点击f5,几秒后它会随机刷新。

有没有人知道问题是什么?

我已经对它进行了两天的故障排除并且知道它不是网络问题,因为它也发生在本地,使用记录集并循环它以手动设置列表框值快速工作,但由于某种原因,我的应用程序中的所有列表框都是这样做。

这是一个我意外更改的设置,或者如果您定义了许多关系,这是否会发生(我最近添加了另一个表)?

编辑: 忘了提一下,数据库是在共享驱动器上,只有2MB,只是最近才开始这样做。

1 个答案:

答案 0 :(得分:2)

我最终发现了这个问题,希望这有助于将来的某个人。

这与使用:

有关
CurrentDB.Execute

此方法在后台运行同步,因此在sql UPDATE / INSERT / DELETE完成之前刷新列表框。

为了解决这个问题,我改为使用:

Docmd.RunSQL

这解决了这个问题,但是我注意到这种方法只适用于Microsoft Access数据库。