Остановка кода пока открыта форма

Источник: msdatabase

Чтобы вызвать всплывающую форму так, чтобы выполнение кода приостановилось до закрытия всплывающей формы нужно использовать следующий синтаксис:  
 
DoCmd.OpenForm "myform", acNormal, , , , acDialog  
 
 
Пример:  
 
Public Sub tst()  
MsgBox "Процедура запущена, сечйас будет вызвана форма" 'Закрываем если уже открыта  
If CurrentProject.AllForms("myform").IsLoaded Then DoCmd.Close acForm, "myform"
DoCmd.OpenForm "myform", acNormal, , , , acDialog  
MsgBox "Форма закрыта , продолжение выполнения кода"  
End Sub      
 
Код не остановится в случае если форма окажется предварительно открыта. Проверить не открыта ли форма можно используя свойство isLoaded  
 
Код продолжится, если диалоговую форму скрыть (программным кодом по событию нажатия соответствующей кнопки на всплывающей форме ).  


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=8374