Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Form_Unload
 
 автор: Andrew   (02.08.2006 в 00:00)
 
 

Добрый день. Столкнулся с пролемой следующего плана:
Есть форма. В форме есть кнопка, по нажатию на которую, вызывается макрос, который должен эту форму закрыть. В событии формы "Выгрузка" стоит некое условие, которое позволяет или нет выходить из формы и присваивает переменной Cancel в Private Sub Form_Unload(Cancel As Integer) значение True. И действительно, если Cancel=True, то форма не закрывается, но выскакивает окно "Ошибка выполнения макрокоманды" и висит до тех пор, пока не нажмешь кнопку "Прервать". Такое происходит если в Свойствах формы ->Макет ->Режим по умолчанию -> Ленточная форма. Если Свойствах формы ->Макет ->Режим по умолчанию -> Простая форма, то окно "Ошибка выполнения макрокоманды" не выскакивает. Подскажите пожалуйста, как это окно побороть, если нужно оставить режим "Ленточная форма"?

  Ответить  
 
 автор: Andrew   (02.08.2006 в 00:00)
 
 

Re: Form_Unload А эсли макрос не писать на на событие кнопки в модуле формы подвесить такой код: if ((мое условие)<>true) then
msgbox "Не могу закрыть - условия не выполняете",vbokonly
else
DoCmd.Close acForm, me.NAME, acSaveNo
End if

  Ответить  
 
 автор: Andrew   (02.08.2006 в 00:00)
 
 

Re[1]: Form_Unload Дело в том, что из формы можно выйти не только по нажатию этой кнопки, а еще с помощью закрытия окна. И нужно, чтобы эти события тоже обрабатывались.

  Ответить  
 
 автор: Andrew   (02.08.2006 в 00:00)
 
 

По поводу... в Вашем тексте ничего не было сказано про кнопку окна (хотя это и не важно) - тогда даже ваш макрос не обрабатывается. Я просто что хотел идеей высказать - закрывать лучше не макросом а кодом в форме - там можно ошибки обработать (см. On Error goto). а про обработку на Unload - это все верно . Просто повторюсь еще раз - кнопку закрытия обрабатывайте в коде

  Ответить  
 
 автор: Andrew   (02.08.2006 в 00:00)
 
 

Re: По поводу... Спасибо, Andrew, натолкнули на правильную мысль. Дело в том, что если закрываешь форму кнопкой закрытия окна, то все отрабатывает правильно. А вот с макросом были проблемы. Сделал так, как вы мне посоветовали, т.е. закрытие обрабатываю в коде.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList