vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Access   |   VB-Versionen: VBA19.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ädtBewertung:  Views:  18.834 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein 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



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.