2010-09-30 40 views
1

在Access 2003中,有些方法可以在打開表單或數據庫時運行代碼,但數據庫關閉時該怎麼辦?訪問2003:在數據庫關閉時運行代碼

我的動機是不可避免地使用有點錯誤的第三方COM庫。釋放COM引用(通過將該變量設置爲Nothing)會導致它(正確)從其服務器斷開連接。麻煩的是,如果不退出進程並啓動一個新進程(這是一個已知的錯誤),它不能重新連接。在這種情況下,該過程是整個訪問IDE :(

理想情況下,我想將COM引用存儲在某個地方,這將從VBA「Reset」動作中清除全局變量(並且在調試過程中很常見,有時一個代碼編輯強制)。但後來我想有清理數據庫關閉前的機會。

回答

3

你可以在數據庫關閉時運行代碼,如果您有一個表單,您可以在數據庫啓動時自動打開表單並將表單打開,然後可以使用表單的關閉事件來運行清理代碼:

Private Sub Form_Close() 
    'do your stuff here ' 
End Sub 
+0

+1好主意。現在我該如何從VBA調用AddRef(它給出一個錯誤),並將COM引用強制轉換爲整數以存儲它? – 2010-10-01 01:08:23

+0

沒關係,我發佈了一個全新的問題:http://stackoverflow.com/questions/3836046/access-hidden-form-method-to-store-a-com-reference – 2010-10-01 01:58:52

0

不釋放參考。讓訪問這樣做,它關閉時。

+0

但是我想在* Access(或DB)關閉前做一些清理。訪問不會爲我做。 – 2010-09-30 17:13:14

+0

你的意思是使用你的馬車COM庫進行清理?不要在Access會話中執行此操作,請等到他們退出Access。 – Beth 2010-09-30 18:07:05

+0

我從Access VBA調用COM庫。我想以同樣的方式進行清理。 – 2010-10-01 01:39:02

相關問題