VBA Tipp: Alle Formulare/Berichte schließen
Aus DBWiki
Anforderung
Ich will alle geöffneten Formulare bzw. Berichte schließen.
Lösung
Die folgenden Prozeduren schließen jeweils alle Formulare bzw. Berichte. Wenn der optionale Parameter BesidesThisOne angegeben wird, wird das Formular bzw. der Bericht dieses Namens ausgenommen. Zusätzlich kann man ggf. auch noch das Startformular oder unsichtbare Hintergrundformulare ausnehmen.
Public Sub CloseAllForms(Optional BesidesThisOne As String) 'Quelle: http://www.dbwiki.net/ Dim i As Long Dim FrmName As String For i = Forms.Count - 1 To 0 Step -1 FrmName = Forms(i).Name If FrmName <> BesidesThisOne Then DoCmd.Close acForm, FrmName, acSaveNo End If Next End Sub Public Sub CloseAllReports(Optional BesidesThisOne As String) 'Quelle: http://www.dbwiki.net/ Dim i As Long Dim RptName As String For i = Reports.Count - 1 To 0 Step -1 RptName = Reports(i).Name If RptName <> BesidesThisOne Then DoCmd.Close acReport, RptName, acSaveNo End If Next End Sub
Aufruf
Hiermit werden alle Formulare außer dem aktuellen Formular geschlossen:
Private Sub EineSchaltflaeche_Click() CloseAllForms Me.Name End Sub
