2016-01-12 31 views
0

我閱讀有關的選項,讓我沒有,直到它完成運行我的會話鎖定訪問的運行下來的宏。我有一些VBA執行SQL SELECT和UPDATE語句的宏,可能需要將近一個小時才能運行。這目前鎖定Access,直到它完成運行。VBA的DoEvents()在訪問或替代

我看到的選項有這樣我可以從宏觀和,仍然使用Access,才能完成在後臺運行報告。我遇到DoEvents()作爲選項,但幾乎所有事情都說不對我們。那麼有什麼好的選擇?

+1

數小時宏運行...訪問具有2GB大小的DB的限制,除非你連接多個數據庫一起...也許你的宏需要一些優化。或者你的數據庫呢。你使用適當的索引?使用SQL無論你可以代替宏。 – vacip

回答

3

DoEvents有它的用途,例如,如果你有一個長時間運行的循環,並想給用戶一個「取消」按鈕,他實際上可以點擊。

但是,在您的使用情況下,最好的選擇是:

  • 讓您的前端數據庫的副本
  • 運行VBA程序與第一前端
  • 啓動第二個實例訪問的一個實例訪問中,打開第二前端,做你想做的(當然,你不應該做一些事情,通過鎖定一審使用的表)。