我有一个循环遍历表的 VBA 脚本,它工作正常,除了它运行代码时访问冻结。代码运行后,它会解冻并显示所有内容(vba 执行了所需的操作,它会打开编码后的最终查询等)
到目前为止这还不错,因为我已经实现(或想要实现)VBA 脚本的“进度状态”功能。这是因为由于新的要求,正在分析的表从大约 4,000 条记录跃升至大约 50,000 条记录。
我通过使用在每条记录后刷新的简单模式对话框表单来完成此操作。
模态对话框最初打开:
DoCmd.OpenForm ("ProgressReport")
Forms("ProgressReport").Controls("ProgressLabel").Caption = "0 of " & RecordCount & " records analyzed."
然后在每次迭代之后:
RecordsAnalyzed = RecordsAnalyzed + 1
Forms("ProgressReport").Controls("ProgressLabel").Caption = RecordsAnalyzed & " of " & RecordCount & " records analyzed."
Forms("ProgressReport").Repaint
是否可以将“内存”分配给模态表单,这样即使 Access 冻结,它也会保持活动状态?代码稍微复杂一点,但它只是 Do Until (EOF) 和 If 语句 - 非常基本的 VBA 函数。关于如何让这个进度条工作的任何想法?没有或没有模态对话框。
我已经研究过编辑状态栏,但是考虑到访问冻结,这也不起作用。