2015-10-11 51 views
1

我有一個進度指示器窗體。關閉分配給變量的MS Access窗體的正確方法

我使用下面的代碼來打開和關閉它。使用.visible = false關閉它並設置對象=沒有任何作用,但仍然是在內存中打開的窗體?

dim oProgInd as Form_frmProgressIndicator 
set oProgInd = new Form_frmProgressIndicator 
    With oProgInd 
     .Status="Running Append" 
     .visible=true 
     .maxRecord=iMxRec 
    End with 
    Do 
     ' some repetitive code 
     oProgInd.Tick 
    Loop 
    oProgInd.visible=false 
set oProgInd=nothing 

我知道Excel VBA使用Unload來關閉表單。我應該在MS Access VBA中使用某種卸載嗎?

回答

1

set oProgInd=nothing將釋放對錶單類對象的引用。由於大概沒有其他引用,它應該被關閉。

您可以通過檢查Forms集合中立即窗口確認:

? forms.Count 
' if Count > 0, use this "for each" to see the form names ... 
for each frm in forms : ? frm.name : next 
+0

作爲擡起頭,當你設置表單變量=任何內容,forms.count通常不會得到更新,直到辦賽事被執行。 –