Я уверен, что это очень просто, но я не могу его найти. В закрытом случае формы доступа, как я могу отменить закрытие формы? У меня есть тест, который учитывает записи в таблице. Если в этой таблице есть записи, я хочу спросить у пользователя, хотят ли они закрыть или вернуться и работать с ними. Итак, как мне отменить событие закрытия?Как отменить форму закрытия в Close Event?
ответ
Вы можете использовать событие 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_Unload в закрытом случае? – MAW74656
О, я вижу, поставьте тест в Form_unload и установите Cancel = True. http://msdn.microsoft.com/en-us/library/aa211464%28v=office.11%29.aspx – MAW74656
Я добавил намного больше замечаний о том, как его использовать. – Fionnuala
исследование и попробовать этот код, он работал для меня. Замените нужные имена переменных на выбранные вами имена. Вставьте код в 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 (отменить, как целое)» событие и установить отменить в True.
Обратите внимание, что вы просто не сможете закрыть вообще, если не добавить некоторую логику, чтобы фактически разрешить обновление базы данных.
- 1. Close Form Button Event
- 2. UserForm Close Event
- 3. Close form in DataRecieved event
- 4. Отменить форму закрытия из некоторого события
- 5. as3 detect swf close event
- 6. Отменить событие закрытия
- 7. Satellizer close popup event
- 8. xsockets close event
- 9. JQuery Dialog Close Event
- 10. DialogFragment Close Event
- 11. Javascript browser close event
- 12. как отменить форму контроллера?
- 13. event open/close popupWindow
- 14. Sticky toastr onclick event of close button
- 15. Trigger close event for Rebol Console?
- 16. Buggy close event on sub modal
- 17. MahApps Metro capture close window event
- 18. Настройки Adobe Flash Player Javascript close event
- 19. Jruby Swing override JFrame close event
- 20. Как «Отменить» Load Event С Диалог
- 21. Event close for option in Chosen JS
- 22. Утилизируйте форму после закрытия
- 23. javascript on window close event
- 24. Firefox addon bar close event
- 25. Переопределить menuitem auto close event
- 26. Javascript - Отменить onload event
- 27. console catch close event thread
- 28. Прекратить родительскую форму от закрытия
- 29. Как обнаружить окно браузера/вкладку Close Event?
- 30. Close form on mouse up event
Не редактируйте эту проблему, чтобы быть ответом! Это очень запутанно для кого-то, читающего то, что решило его для вас. Предоставление ошибочного кода и правильного кода отдельно - это одно решение. –
Я считаю, что связанные формы MS-Access трудно контролировать. Не уверен, что думают разработчики! – NoChance