Как отменить закрытие формы в случае закрытия?
Я уверен, что это очень простой, но я не могу найти его. В случае закрытия формы доступа, как я могу отменить закрытие формы? У меня есть тест, который подсчитывает записи в таблице. Если в этой таблице есть записи, я хочу спросить пользователя, хотят ли они закрыть или вернуться и работать с ними. Так как же отменить событие закрытия?
3 ответов
вы можете использовать событие Unload:
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
используйте событие" Form_BeforeUpdate(cancel as integer) " и установите cancel в True.
обратите внимание, что вы просто не сможете закрыть вообще, если вы не добавите некоторую логику, чтобы фактически разрешить обновление базы данных.
изучите и попробуйте этот код, он работал для меня. Замените необходимые имена переменных выбранными именами. Вставьте код в событие 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