gpt4 book ai didi

ms-access - 如何等待紧凑修复 - Access VBA

转载 作者:行者123 更新时间:2023-12-02 17:49:28 26 4
gpt4 key购买 nike

Access 2007 中有一个 VBA 模块,它在 For 循环中执行类似的操作。在每个循环结束时,我希望在进行下一次迭代之前压缩并修复当前数据库。

原因:在我创建的每次迭代中,用于计算并删除表。大小应保持在控制范围内。

使用 SendKeys ,如果从表单按钮调用模块,我无法压缩和修复。确保 SendKey 正常工作并且模块完美地继续下一次迭代的任何技巧。控制表单加载/模块执行/检查状态等的一些想法。最终目的是等待足够长的时间直到压缩完成,然后继续。还如何安全地确保用于压缩的 SendKeys/(建议备用)工作正常。

谢谢

最佳答案

“...在 For 循环中。在每个循环结束时,我希望在继续下一次迭代之前压缩并修复当前数据库。”

考虑一下压缩当前数据库时实际发生的情况。 Access 首先将当前数据库的压缩版本创建为 db 文件。然后它删除旧的数据库文件,将新文件重命名为旧名称,最后打开新的数据库文件。

因此,如果您的代码尝试通过 For 压缩每个周期循环...当 Access 然后打开压缩的数据库文件时...它如何知道您希望它在 For 中继续环形?

如果您确实想做类似的事情,您将必须存储一个值来记录 For 的最后一次迭代。环形。然后创建一个 autoexec 宏以在数据库打开时检索该值,并输入 For以适当的周期循环。然后决定您是否真的希望每次打开数据库时都发生这一切。

然而,这对我来说似乎太过费力了。使用另一个数据库文件来保存 volatile 数据应该更简单。然后,从当前数据库中的代码中,您可以使用 DBEngine.CompactDatabase压缩外部数据库文件。

关于ms-access - 如何等待紧凑修复 - Access VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16132519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com