使用VBScript删除多个索引MS访问



我想创建一个删除一些索引的子...这是我到目前为止尝试的:

Sub DropIndex(Database, TableName)
    Set ObjCon3 = CreateObject("ADODB.Connection")
    Set RecSet3 = CreateObject("ADODB.Recordset")

    objCon3.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = "& Database &""
                    ObjCon3.Execute "Drop Index [City] on " & TableName & ", [Company] on " & TableName & ", [Postal Code] on " & TableName & ", [State/Province] on " & TableName & ""

End Sub

不起作用的...我相信错误的语法...

其他,我认为最好的方法是创建一个带有索引的数组。.我可以做:

For X = 0 To Ubound(Index)
Call DropIndex(Database, TableName, Index(x))
Next

,但我什至不知道我可以在阵列中获得所有索引。我什至可以在呼叫中放一个变量吗?

在MSACCESS文档中指导Drop语句只能具有'drop'的类型。

  DROP {TABLE table | INDEX index ON table | PROCEDURE procedure | VIEW view}

您必须像Bellow一样更改您的陈述:

 ObjCon3.Execute "Drop Index [City] on " & TableName 
 ObjCon3.Execute "Drop Index [Company] on " & TableName 
 ObjCon3.Execute "Drop Index [Postal Code] on " & TableName 
 ObjCon3.Execute "Drop Index [State/Province] on " & TableName 

最新更新