Max Wanadoo
max.wanadoo at gmail.com
Thu Mar 18 11:21:39 CDT 2010
AD, There were some problems with the code so I am posting back what I ended up with. Once again, for me, Access did not like deleting the Forms, so I just had to jump around the error (as shown). Also a test for zero Forms. Any thoughts on the error? Max Public Function libDeleteLocalForms() On Error GoTo EH Dim obj As Object, Rtv As Variant, Cnt As Long If CurrentProject.AllForms.Count > 0 Then ReDim Rtv(CurrentProject.AllForms.Count - 1) Cnt = 0 For Each obj In CurrentProject.AllForms DoCmd.Close acForm, obj.Name Rtv(Cnt) = obj.Name Cnt = Cnt + 1 Next For Cnt = 0 To UBound(Rtv) DoCmd.DeleteObject acForm, Rtv(Cnt) Next End If EX: Set obj = Nothing Exit Function EH: Select Case Err.Number Case 29068 Resume Next Case Else MsgBox "Error: " & Err.Number & vbCrLf & Err.Description Resume EX End Select End Function -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D. Tejpal Sent: Wednesday, March 17, 2010 6:34 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Delete all reports and all forms Max, It can be done quite conveniently in DAO. For smooth deletion of all forms/reports, you have to do the deletion part outside the For Each loop. Sample procedure named P_DeleteAllForms() as given below, will remove all forms in the db. Just make sure that all forms are in closed state before running the subroutine. Similar procedure can be devised for deleting all reports. Best wishes, A.D. Tejpal ------------ ' Sample procedure for deleting all forms. '=========================== Sub P_DeleteAllForms() ' Before running this subroutine, ' pl. make sure that no form is in open state Dim obj As Object Dim Rtv As Variant, Cnt As Long ReDim Rtv(CurrentProject.AllForms.Count - 1) Cnt = 0 For Each obj In CurrentProject.AllForms Rtv(Cnt) = obj.Name Cnt = Cnt + 1 Next For Cnt = 0 To UBound(Rtv) DoCmd.DeleteObject acForm, Rtv(Cnt) Next Set obj = Nothing End Sub '=============================== ----- Original Message ----- From: Max Wanadoo To: 'Access Developers discussion and problem solving' Sent: Wednesday, March 17, 2010 21:58 Subject: [AccessD] Delete all reports and all forms Anybody know how to loop through and delete all reports and all forms. It seems that Access will not let you delete from the collections. Must be a programmable way but never done it before. Max -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com