Jestem pewien, że to bardzo proste, ale nie mogę go znaleźć. Czy w przypadku zamknięcia formularza dostępu można anulować zamknięcie formularza? Mam test, który zlicza rekordy w tabeli. Jeśli ta tabela zawiera rekordy, chcę zapytać użytkownika, czy chce zamknąć, czy wrócić i pracować z nimi. Jak więc anulować zamknięcie zdarzenia?Jak anulować formularz zamknąć Zamknij zdarzenie?
Odpowiedz
Można użyć zdarzenia Zwolnij:
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
Nie jestem pewien, czy rozumiem, czy powinienem przekazać coś do zdarzenia Form_Unload w zdarzeniu Close? – MAW74656
Och, widzę, umieść test w Form_unload, a następnie ustaw Anuluj = Prawda. http://msdn.microsoft.com/en-us/library/aa211464%28v=office.11%29.aspx – MAW74656
Dodałem znacznie więcej informacji o tym, jak z niego korzystać. – Fionnuala
Study i spróbuj tego kodu, pracował dla mnie. Zastąp niezbędne nazwy zmiennych wybranymi nazwami. Wklej kod w Form_unload Zdarzenie w formularzu. !!! UWAGA: Po wykonaniu tej operacji będzie trudno uzyskać dostęp do formularza w widoku projektu i układu
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
użyć „Form_BeforeUpdate (anulowanie As Integer)” zdarzenia i ustawić anulować True.
Należy zauważyć, że po prostu nie da się zamknąć w ogóle, chyba że doda się logikę, aby rzeczywiście umożliwić aktualizację bazy danych.
Nie edytuj problemu jako odpowiedzi! Jest to bardzo mylące dla kogoś, kto czyta to, co dla ciebie rozwiązało. Zapewnienie wadliwego kodu i poprawnego kodu osobno jest jednym rozwiązaniem. –
Uważam, że formularze związane z MS-Access są trudne do kontrolowania w sposób problematyczny. Nie jestem pewien, co myśleli twórcy! – NoChance