Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Stanislav
Есть форма с субформой. На форме кнопка "Exit", по клику на которой выполняется код:

DoCmd.Close acForm, "Form1"

Для формы также прописан код:

Private Sub Form_Unload(Cancel As Integer)
if Условие Then
Cancel = True
end if

Проблема:
Когда жмем на кнопку Exit и условие выполняется, происходит отмена закрытия формы (Cancel=True), но при этом выходит сообщение об ошибке: Run-time error 3021: no current record.
Если же нажать, не на Exit, а на крестик в правом верхнем углу формы - происходит то же самое: условие выполняется, также происходит отмена закрытия формы, но без ошибки.
Не пойму в чем разница между способами закрытия формы: Docmd.Close и нажатием на крестик. И почему Docmd.Close вызывает ошибку, а крестик нет.
Не пойму суть ошибки. Читал в инете - пишут что типа нет записи, чтобы выполнить с ней какие-то действия. Все равно непонятно.
Не предлагайте убрать кнопку Exit и пользоваться стандартным крестиком - с кнопкой намного удобнее.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.