Deleting Indexes from a Table : Index « Access « VBA / Excel / Access / Word






Deleting Indexes from a Table

 
Sub Delete_Indexes()
   Dim conn As New ADODB.Connection
   Dim cat As New ADOX.Catalog
   Dim myTable As New ADOX.Table
   Dim idx As New ADOX.Index
   Dim count As Integer

   With conn
      .Provider = "Microsoft.Jet.OLEDB.4.0"
      .Open "Data Source=" & CurrentProject.Path & _
          "\mydb.mdb"
   End With

   cat.ActiveConnection = conn
Setup:
   Set myTable = cat.Tables("Employees")
   Debug.Print myTable.Indexes.count
   For Each idx In myTable.Indexes
       If idx.PrimaryKey <> True Then
         myTable.Indexes.Delete (idx.Name)
         GoTo Setup
       End If
   Next idx

   conn.Close
   Set conn = Nothing
   MsgBox "All Indexes but Primary Key were deleted."
End Sub

 








Related examples in the same category

1.Auto-Generate an Index Using VBA
2.Adding a Single-Field Index to an Existing Table (Intrinsic constants for the IndexNulls property of the ADOX Index object)
3.Adding a Multiple-Field Index to an Existing Table
4.Listing Indexes in a Table
5.Adding a Unique Index Based on Two Fields to an Existing Table
6.Deleting a Field that is a Part of an Index with SQL command
7.Alter table to delete an Index with SQL command
8.Creating an Index that Disallows Null Values in the Key with SQL command
9.Creating an Index with the Ignore Null Option with SQL command
10.Deleting an Index with SQL command
11.Creating a Primary Key Index with Restrictions with SQL command