我一直有一个非常烦人的问题,最近才开始发生。
我的列表框没有立即更新。例如,在我的主窗体上,“A”有一个带有sql语句的列表框(Simple ...返回5-20行)。我点击下面有一个编辑按钮,当点击时会打开一个新表单来更改数据。该表单提交更新查询,然后调用全局函数,该函数重新查询所有相关列表框(表单A上的列表框)。唯一的问题是列表框没有改变,似乎挂起/滞后。如果我选择列表框并连续点击f5,几秒后它会随机刷新。
有没有人知道问题是什么?
我已经对它进行了两天的故障排除并且知道它不是网络问题,因为它也发生在本地,使用记录集并循环它以手动设置列表框值快速工作,但由于某种原因,我的应用程序中的所有列表框都是这样做。
这是一个我意外更改的设置,或者如果您定义了许多关系,这是否会发生(我最近添加了另一个表)?
编辑: 忘了提一下,数据库是在共享驱动器上,只有2MB,只是最近才开始这样做。
答案 0 :(得分:2)
我最终发现了这个问题,希望这有助于将来的某个人。
这与使用:
有关CurrentDB.Execute
此方法在后台运行同步,因此在sql UPDATE / INSERT / DELETE完成之前刷新列表框。
为了解决这个问题,我改为使用:
Docmd.RunSQL
这解决了这个问题,但是我注意到这种方法只适用于Microsoft Access数据库。