2015-10-11 2 views
1

У меня есть индикатор прогресса.правильный способ закрыть форму MS Access, присвоенную переменной

Я использую следующий код, чтобы включить и выключить его. Отключение его с помощью .visible = false и Set object = ничего не работает, но форма остается открытой в памяти?

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 для закрытия формы. Должен ли я использовать какую-то 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 будет обычно не обновляются до тех пор, сделайте событие выполняется. –

Смежные вопросы