Как отменить форму закрытия в Close Event?

Я уверен, что это очень просто, но я не могу его найти. В случае закрытия формы доступа, как я могу отменить закрытие формы? У меня есть тест, который считает записи в таблице. Если в этой таблице есть записи, я хочу спросить пользователя, хотят ли они закрыть или вернуться и работать с ними. Так как мне отменить закрытое событие?

Ответы на вопрос(3)

Решение Вопроса

GlobalVar ButtonClicked

Private Sub Form_Open(Cancel As Integer)
     ButtonClicked = False
End Sub

Private ClickMe_Click(Cancel As Integer)
     ButtonClicked = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
     If Not ButtonClicked Then
         Cancel = True
     End if
End Sub  

Порядок событий для объектов базы данных

 30 мая 2012 г., 17:18
Истина равна -1 :)
 MAW7465630 мая 2012 г., 17:09
Я не уверен, что понимаю, следует ли передавать что-либо событию Form_Unload в событии close?
 MAW7465630 мая 2012 г., 17:12
О, я вижу, поместите тест в Form_unload, затем установите Cancel = True.msdn.microsoft.com/en-us/library/aa211464%28v=office.11%29.aspx
 30 мая 2012 г., 17:13
Я добавил гораздо больше заметок о том, как его использовать.
 MAW7465630 мая 2012 г., 17:16
ЭтоCancel As Integer это действительно смутило меня. Я бы ожидал логическое значение там. Но я полагаю, VBA автоматически переводит TRUE и FALSE в 1 и 0?

он работал для меня. Замените необходимые имена переменных выбранными вами именами. Вставьте код в событие form_unload вашей формы. ВНИМАНИЕ !!!: после выполнения этой операции вам будет сложно получить доступ к вашей форме в режиме дизайна и макета.

    Private Sub Form_Unload(Cancel As Integer)
        userresponse = MsgBox("Are you sure you want close? All your work wouldn't be saved", vbYesNo, "Database Information")
        Select Case userresponse
        Case 6
            Cancel = False
            'this line opens another form in my own case
            DoCmd.OpenForm "EngMenu"  

        Case 7
            Cancel = True
            'this line keeps my own form open in my own case
            DoCmd.OpenForm "UpdateForm"


        Case Else:

            MsgBox "You are not allowed to perform this operation", vbInformation, "Database Information"
        End Select
    End Subenter code here

Form_BeforeUpdate (отменить как целое число) & quot; событие и установите отмену на True.

Обратите внимание, что вы просто не сможете вообще закрыться, если не добавите логику, чтобы фактически разрешить обновление базы данных.

Ваш ответ на вопрос