访问2010 Form.Repaint - 挂

时间:2013-02-15 09:58:13

标签: forms ms-access repaint

我希望在这里找不到明显的东西......

我刚刚开始开发一个新的Access 2010应用程序。个人的东西,希望简单。

我需要做的第一件事就是从硬盘上读取一堆文件。我解析了将信息添加到表中的内容(如果它尚不存在)。

代码工作正常,这不是问题。因为可能需要一段时间我使用标准表单添加了一个简单的进度对话框,但是在对话框/弹出模式下。随着FSO.Folder.Files对象的For Each循环的进行,我将一些信息发送到几个文本框并发出Me.Repaint(还尝试了DoCmd.RepaintObject acForm,“FormName”)。

问题是,在重新绘制停止响应之前,我可以完成5%到35%的完成过程。表单只有在达到100%时才重新绘制。

该过程使用有限的递归 - 如果有子文件夹 - 它会调用自己来处理该子文件夹,但文件夹结构是相当线性的,所以没有多少。

表格中没有任何约束。所有表更新都在代码和RecordSets中进行。

Access停止响应的任何想法?

干杯,

罗伊

1 个答案:

答案 0 :(得分:0)

DoEvents之后添加Repaint。这将导致Access屈服于Windows,然后可以处理其挂起的任务......例如在这种情况下更新显示。

实际上,如果您的代码更新了文本框,我不明白为什么您需要Repaint表单来显示更改。尝试这样的事情......

Me.MyTextBox = "hello"
DoEvents