Benutzung auf eigene Gefahr ! |
Beschreibung |
Schließt alle Objekte in einer Datenbank, mit Ausnahme des Objektes, welches gerade den VBA-Code ausführt. |
VBA-Quelltext |
Public Sub AlleObjektSchließen() Dim Nr As Integer, ObjektNr As Long, Objekt As Object, ObjektListe ' Tabellen und Abfragen schließen Set Objekt = DBEngine(0)(0).Containers("Tables").Documents For Nr = 0 To Objekt.Count - 1 DoCmd.Close acTable, Objekt(Nr).NAme DoCmd.Close acQuery, Objekt(Nr).NAme Next Nr ' Übrige Objekte schließen ObjektListe = Array(Array(acForm, acReport, acMacro, acModule), Array("Forms", "Reports", "Scripts", "Modules")) For ObjektNr = LBound(ObjektListe(0)) To UBound(ObjektListe(0)) Set Objekt = DBEngine(0)(0).Containers(ObjektListe(1)(ObjektNr)).Documents For Nr = 0 To Objekt.Count - 1 If (CodeContextObject.NAme <> Objekt(Nr).NAme) Then DoCmd.Close ObjektListe(0)(ObjektNr), Objekt(Nr).NAme End If Next Nr Next ObjektNr End Sub |
Anwendungsgebiete, Fehler und Warnungen |
Bei Formularen, Berichten, Makros und Modulen werden Module nicht geschlossen, die den gleichen Namen besitzen, wie das VBA-Modul, in dem gerade der Code ausgeführt wird. |