Под настоящей модальной формой понимаем форму, вызов которой прекращает выполнение вызывающего ее кода до закрытия этой формы. В Access для этого приходится извращаться. Например так: Делаем форму dlgMyDialog (например для выбора клиента из справочника), которая должна у нас вызываться из разных форм для заполнения различных полей. Вставляем в нее две кнопки Ok и Cancel. На событие нажатия кнопки Cancel вешаем процедуру, которая закрывает форму: DoCmd.Close acForm, "dlgMyDialog", а на событие Ok вешаем процедуру, которая скрывает(hide) форму dlgMyDialog (при скрытии формы она перестает быть acDialog и при этом программа, которая ее вызвала продолжает свое выполнение). Код, вызывающий эту модальную форму выглядит слудущим образом: 'открытие модальной формы с возвращением значения 'переменной DoCmd.OpenForm "dlgMyDialog", windowmode=acDialog If IsLoaded("dlgMyDialog") Then Value1=dlgMyDialog.Value1 'читаем выбранное значение DoCmd.Close acForm, "dlgMyDialog" End If Вам необходима функция IsLoaded (проверяет открыта ли форма), которую можно найти в данном архиве.