无论如何要在Access 2000中擦除多种形式,查询等? (在设计器中)。

最佳答案

这对我来说更好。试图删除循环中的元素本身一直有麻烦。我只是将对象名称打入数组,然后将其删除。

Public Sub DeleteAllFormsAndReports()

Dim accobj As AccessObject
Dim X As Integer
Dim iObjCount As Integer
Dim sObjectNames() As String

If MsgBox("Are you sure you want to delete all of the forms and reports?", vbCritical + vbYesNo) = vbYes Then
    ReDim sObjectNames(0)
    For Each accobj In CurrentProject.AllForms
        ReDim Preserve sObjectNames(UBound(sObjectNames) + 1)
        sObjectNames(UBound(sObjectNames)) = accobj.Name
    Next accobj

    For X = 1 To UBound(sObjectNames)
        DoCmd.DeleteObject acForm, sObjectNames(X)
    Next X

    ReDim sObjectNames(0)
    For Each accobj In CurrentProject.AllReports
        ReDim Preserve sObjectNames(UBound(sObjectNames) + 1)
        sObjectNames(UBound(sObjectNames)) = accobj.Name
    Next accobj

    For X = 1 To UBound(sObjectNames)
        DoCmd.DeleteObject acReport, sObjectNames(X)
    Next X

End If

结束子

07-23 15:55