Rubrik: Access | VB-Versionen: VBA | 19.04.05 |
Beenden nur aus dem Hauptformular (Access) Dieser Tipp zeigt, wie man MS-Access dazubewegen kann, dass der Anwender die Anwendung nur über das Hauptformular beenden kann. | ||
Autor: Richard Mittelstädt | Bewertung: | Views: 18.834 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Wenn der Programmierer will, dass der Anwender die Datenbank-Anwendung nur aus dem Hauptformular heraus beenden kann, dann sollte er einmal diesen Code ausprobieren.
' im Hauptformular Private Sub Form_Unload(Cancel As Integer) If Forms.Count > 1 Then MsgBox "Verlassen der Anwendung nur aus dem HaupfFormular möglich!" Cancel = True ' Schliessen abblocken ! Exit Sub End If ' Verhindern, dass die Datenbank aus einem Unterformular beendet wird On Error GoTo ErrHandler If Not Screen.ActiveForm.Name = Me.Name Then Cancel = True ' Schliessen abblocken ! MsgBox "Verlassen der Datenbank-Anwendung nur aus dem Hauptformular!" Exit Sub End If ' Hier evtl. noch andere Funktionen aufrufen.... Exit Sub ErrHandler: Select Case Err.Number Case 2474, 2475 ' Kein aktuelles Screen.ActiveForm !, ' Bitte Weitere Case-Zeilen einfügen, wenn notwendig..... MsgBox "Verlassen der Datenbank-Anwendung nur aus dem Hauptformular!" ' Schliessen abblocken, auch bei diesem Fehler! Cancel = True Case Else MsgBox Me.Name & ".Form_Unload" & vbNewLine & _ CStr(Err.Number) & ", " & Err.Description & vbNewLine & "Fehler!" End Select End Sub
Hinweis:
Wenn Sie im Formular eine Schaltfläche "Schließen" mit dem Befehl "DoCmd.Quit" verwenden, müssen Sie den Code ebenfalls anpassen:
Private Sub Schliessen_Click() On Error GoTo ErrHandler DoCmd.Close acForm, Me.Name, acSaveNo ' Close statt Quit verwenden! Exit Sub ErrHandler: If Err.Number = 2501 Then Exit Sub ' Fehler-Meldung "Aktion wurde abgebrochen" ausblenden ! Else MsgBox Me.Name & "Schliessen_Click:" & Err.Number & " " & Err.Description End If End Sub