ms-access 2007 运行时和 lockWindowUpdate
Posted
技术标签:
【中文标题】ms-access 2007 运行时和 lockWindowUpdate【英文标题】:ms-access 2007 runtime and 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 都控制屏幕绘画。关键问题是为上下文选择正确的上下文,在正确的位置调用它,并提供错误处理以在出现错误时将其重新打开。 感谢您的帮助。解决方案有效。但是为什么我们以前不使用它??? 【参考方案1】:我无法使用 access 2007 进行测试,但会使用
Application.Echo False ,”Updating”
为你工作?只要记住在代码完成和任何错误捕获后重新打开回声
Application.Echo True,””
【讨论】:
到目前为止,它有效!我只需要在应用程序中更新我的 freezeForm 和 unfreezeForm 函数。现在的问题是:在考虑使用 Windows API 之前,我们怎么没有找到这个解决方案??? 啊,不用担心这些事情会发生,我花了很长时间制作自己的自动前端更新程序小部件,却发现已经有一个!我相信我以后还会继续犯其他这样的“错误”! 另外,我拥有大量带有自定义函数的生产代码,这些代码执行 Access 10 年前开始提供的功能。以及执行 Access 在我编写它们时已经执行的操作的函数。 :(以上是关于ms-access 2007 运行时和 lockWindowUpdate的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ms-access 2007 VBA 中计算 mod 97
MS-Access 2007 - 如何在点击事件中以编程方式访问子表单列数据
MS-Access 2007:查询与至少有一条记录符合指定条件的个人相关的所有记录