Ich bin sicher, das ist sehr einfach, aber ich kann es nicht finden. Wie kann ich das Schließen des Formulars beim Schließen eines Zugriffsformulars abbrechen? Ich habe einen Test, der die Datensätze in einer Tabelle zählt. Wenn diese Tabelle Datensätze enthält, möchte ich den Benutzer fragen, ob er schließen oder zurückgehen und mit ihnen arbeiten möchte. Wie storniere ich das Schließen-Ereignis?
Sie können das Ereignis Unload verwenden:
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
Verwenden Sie das Ereignis "Form_BeforeUpdate (cancel as integer)" und setzen Sie cancel auf True.
Beachten Sie, dass Sie einfach nicht schließen können, es sei denn, Sie fügen eine Logik hinzu, um die Aktualisierung der Datenbank zuzulassen.
Studiere und probiere diesen Code, es hat für mich funktioniert. Ersetzen Sie die erforderlichen Variablennamen durch Ihre gewählten Namen. Fügen Sie den Code in das form_unload-Ereignis Ihres Formulars ein. ACHTUNG !!!: Nachdem Sie diesen Vorgang ausgeführt haben, können Sie in der Entwurfs- und Layoutansicht nur schwer auf Ihr Formular zugreifen
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