【问题标题】:ms-access 2007 runtime and lockWindowUpdatems-access 2007 运行时和 lockWindowUpdate
【发布时间】:2010-09-29 13:09:43
【问题描述】:

在 VBA 代码中使用 lockWindowUpdate API 可避免在更新屏幕内容时屏幕闪烁。它还大大改善了计算延迟,因为计算机不必在对底层记录集进行每次计算\更新后刷新屏幕。

不幸的是,我无法让它与 Access 2007 运行时一起正常工作!在某些屏幕上,Access 2007 用户的数据更新时间是 Access 2003 运行时用户的 30 倍!

通过谷歌搜索,我发现一个类似的问题related to powerpoint 2007 也被讨论过,但是 msAccess 没有出现,或者没有明确的解决方案。我将非常感谢任何帮助。

【问题讨论】:

  • 为什么要使用 API 来实现 VBA 已经提供的功能? DoCmd.Echo False、Me.Painting = False 和 Application.Echo False 都控制屏幕绘画。关键问题是为上下文选择正确的上下文,在正确的位置调用它,并提供错误处理以在出现错误时将其重新打开。
  • 感谢您的帮助。解决方案有效。但是为什么我们以前不使用它???

标签: ms-access ms-access-2007 ms-access-2003


【解决方案1】:

我无法使用 access 2007 进行测试,但会使用

Application.Echo False ,”Updating”

为你工作?只要记住在代码完成和任何错误捕获后重新打开回声

Application.Echo True,””

【讨论】:

  • 到目前为止,它有效!我只需要在应用程序中更新我的 freezeForm 和 unfreezeForm 函数。现在的问题是:在考虑使用 Windows API 之前,我们怎么没有找到这个解决方案???
  • 啊,不用担心这些事情会发生,我花了很长时间制作自己的自动前端更新程序小部件,却发现已经有一个!我相信我以后还会继续犯其他这样的“错误”!
  • 另外,我拥有大量带有自定义函数的生产代码,这些代码执行 Access 10 年前开始提供的功能。以及执行 Access 在我编写它们时已经执行的操作的函数。 :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-24
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多