Rubrik: Datenbanken · DAO | VB-Versionen: VB5, VB6 | 07.05.01 |
Datenbanken autom. bei Programmende schliessen Eine Routine, welche alle geöffneten Datenbanken und Recordsets autom. schliesst. | ||
Autor: Helmut Suhren | Bewertung: | Views: 21.426 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die nachfolgende Prozedur überprüft, ob noch irgendwelche Recordsets, Datenbanken und Workspaces (Arbeitsbereiche) geöffnet sind und schliesst diese, wenn der Parameter ForceClose auf True gesetzt ist.
Private Sub CheckOpenDataBasesAndOpenRecordsets(Optional _ ForceClose As Boolean = False) Dim WS As Integer Dim DB As Integer Dim RS As Integer For WS = Workspaces.count - 1 To 0 Step -1 With Workspaces(WS) Debug.Print "Open Workspace: " & .name For DB = .Databases.count - 1 To 0 Step -1 With .Databases(DB) Debug.Print "Open Database : " & .name For RS = .Recordsets.count - 1 To 0 Step -1 Debug.Print "Open Recordset: " & _ .Recordsets(RS).name If ForceClose Then .Recordsets(RS).Close Next ' RS If ForceClose Then .Close End With Next ' DB If ForceClose And WS <> 0 Then .Close ' WS=0 ist #Default Workspace#, und die kann nicht, ' und muss auch nicht geschlossen werden End With Next 'WS End Sub
Die Prozedur sollte z.B. vor Durchführung einer Daten-Rücksicherung oder beim Beenden der Anwendung aufgerufen weden.