Вопросы | ms-access

Что может помешать закрытию формы MS Access 2000?

Вопрос

Thelema | 1818 просмотров | рейтинг: 1

Моя база данных Access 2000 вызывает у меня проблемы - иногда (не определили причину) форма книги не закрывается. Нажатие на его кнопку закрытия ничего не делает, File -> Close ничего не делает, даже закрытие Access не приводит ни к каким действиям. У меня нет обработчика OnClose для этой формы. Единственный обходной путь, который я могу найти, включает в себя открытие редактора Vba, внесение изменений в код для этой формы (даже добавление пробела и затем немедленное удаление пробела), а затем возврат обратно, чтобы закрыть форму книги, закрыть ее и сказать «нет». Я не хочу сохранять изменения. Только тогда оно закроется. Любая помощь?

Комментарии:

Thelema

Альтернативный обходной путь: отредактируйте форму в режиме конструктора и снова отклоните сохранение.




Ответы

David-W-Fenton

+ 0 -
Есть ли в вашей форме событие unload? Это можно отменить, и если это так, форма не закроется, когда она находится в представлении формы. Он закроется только в режиме конструктора, который, когда вы редактируете код vba, является тем, что форма делает в окне Access, когда вы редактируете код.  


Chris OC

+ 1 -
Вот сообщение на форуме, описывающее ту же проблему, с которой вы столкнулись. Выдержка из нижеперечисленных состояний предлагает обходной путь.
  Что я делаю, так это помещаю код в кнопку закрытия, которая переназначает исходный объект   любых подчиненных форм в чистую форму, таких как:   я! subParts.sourceobject = subBlank 'subBlank - это моя форма   абсолютно пустой, без кода и элементов управления и т. д.   docmd.close acForm, fParts, acSaveNo   Вышеуказанные 2 строки - единственный способ, который я нашел, чтобы предотвратить приглашение Access   от всплывающих   http://bytes.com/forum/thread681889.html
 


micahwittman

+ 0 -
У вашей формы есть флажок, кнопка переключения или кнопка выбора? В Access 2000 есть ошибка, из-за которой Access не закрывается, если вы тестируете значение без явного использования свойства Value в коде vba, например:
 If Me.chkbox Then
 

против:
 If Me.chkbox.Value Then
 

 


Anonymous

+ 1 -
Еще одна альтернатива
 (Me.Checkbox)
 

или мой предпочтительный синтаксис:
 (Me!Checkbox)
 

Мне кажется, что много постов в этой теме. В ответе, который был выбран первоначальным постером, цитируется статья, в которой у пользователя было предложено сохранить изменения дизайна в форме, но описанная здесь проблема, похоже, заключается в том, что форма закрывается не из-за проблемы сохранения, а из-за проблемы сохранения (проблема сохранения). подошел только в обходном пути, описывающем переход на VBE и внесение изменений в код). Интересно, может ли исходный пользователь установить неправильные параметры VBE? Если вы откроете VBE и зайдите в TOOLS | ОПЦИИ, на вкладке ОБЩИЕ, вы увидите несколько вариантов обработки ошибок. Следует выбрать BREAK OF UNHANDLED ERRORS или BREAK IN CLASS MODULE, но важно понимать, что если вы используете первый, вы можете не увидеть определенные виды ошибок. На самом деле недостаточно подробностей, чтобы диагностировать гораздо больше, кроме того факта, что ссылка на элемент управления флажка, казалось, вызывала проблему, но есть ряд рекомендаций по кодированию Access, которые могут помочь вам избежать некоторых из этих странностей. Рекомендации по написанию кода на странице «Лучшие практики» Тони Тоевса - хорошее место для начала.


Теги

ms-access | forms