2015-09-16 79 views
0

我做了功能,利用做,而(真) - 無限循環(控制其他應用程序)無限循環(雖然)和使能控制MS Access窗體2003

我正在尋找解決方案如何使形式accessable - 當我啓動應用程序,訪問只是加載和我的表單不能改變。至少我試着做一些「監聽功能」爲「S」鍵停止一段時間,它不工作太(也許我這樣做不好,這可能嗎?)

我只是用

Do While (run) <code> Loop 

我想我至少需要2個線程(1個線程處理無限同時,2個線程用於表單,但是我讀取訪問不能處理多線程。)

我可以問,是否有一些使這項工作的可能性?

回答

0

MS Access或MS辦公室是單線程平臺和不能執行並行執行。通常,盲目循環或不受控制的循環根本不是一個好習慣。如果你沒有控制器就有盲循環功能,那麼你正在浪費你的vba應用程序的進程週期。

你可以做什麼:

  1. 使用定時器,設定的時間間隔你的代碼必須多長時間執行
  2. 添加「辦賽事」內循環使用過程週期來執行時,一些其他的代碼循環內的代碼正在等待外部信號。
  3. 添加任何類型的控制器來打破循環..簡單,如果其他條件
  4. 移植代碼到外部.dll和執行/控制功能VBA

總之外,VBA無法執行的線程。使用不受控制的會凍結你的應用程序,這將迫使你使用[CTRL] + F12手動停止執行。

+0

感謝快速回復。 對於你所建議的選項: 1.我需要實時檢查時間(Now()== someTime) - 無法使用 2.我嘗試添加按鈕STOP,我添加了將布爾值更改爲FALSE的函數(它有任何影響) 3.它需要永久運行,因爲檢查時間(它的圖表tasker - 當它啓動其他應用程序的時間,並且它檢查後如果結束罰款) 4.如果我使用.DLL並執行代碼(while true - infinite loop ) - 將形式可訪問? –

0

我使用的功能「的DoEvents」(它至少爲輸入反應 - 鍵盤/鼠標)