Private Sub Form_Unload(Cancel As Integer)
On Error GoTo Err_Form_Unload
10 Dim aob As AccessObject
20 With CurrentData
[B][COLOR=darkred]30 For Each aob In .AllTables ' Tables[/COLOR][/B]
[B][COLOR=darkred]40 If aob.IsLoaded Then[/COLOR][/B]
[B][COLOR=darkred]50 DoCmd.Close acTable, aob.Name, acSaveYes[/COLOR][/B]
[B][COLOR=darkred]60 End If[/COLOR][/B]
[B][COLOR=darkred]70 Next aob[/COLOR][/B]
80 For Each aob In .AllQueries ' Queries
90 If aob.IsLoaded Then
100 DoCmd.Close acQuery, aob.Name, acSaveYes
110 End If
120 Next aob
130 End With
140 With CurrentProject
150 For Each aob In .AllForms ' Forms
160 If aob.IsLoaded Then
170 If aob.Name <> "frmMain" Then
180 DoCmd.Close acForm, aob.Name, acSaveYes
190 End If
200 End If
210 Next aob
220 For Each aob In .AllReports ' Reports
230 If aob.IsLoaded Then
240 DoCmd.Close acReport, aob.Name, acSaveYes
250 End If
260 Next aob
270 For Each aob In .AllDataAccessPages ' Pages
280 If aob.IsLoaded Then
290 DoCmd.Close acDataAccessPage, aob.Name, acSaveYes
300 End If
310 Next aob
320 For Each aob In .AllMacros ' Macros
330 If aob.IsLoaded Then
340 DoCmd.Close acMacro, aob.Name, acSaveYes
350 End If
360 Next aob
370 For Each aob In .AllModules ' Modules
380 If aob.IsLoaded Then
390 DoCmd.Close acModule, aob.Name, acSaveYes
400 End If
410 Next aob
420 End With
Exit_Form_Unload:
DoCmd.SetWarnings True
DoCmd.Hourglass False
Exit Sub
Err_Form_Unload:
ErrorLine = Erl
ErrorNumber = Err.Number
ErrorDescription = Err.Description
ErrorForm = "frmMain"
ErrorSourceType = "Sub"
ErrorSourceName = "Form_Unload"
Call gsubErrorHandler(ErrorLine, ErrorNumber, ErrorDescription, ErrorForm, _
ErrorSourceType, ErrorSourceName)
Resume Exit_Form_Unload
End Sub