我用VB的ADOX创建ACCESS,同时想创建多个索引,但我创建一个索引时就能创建成功,如果同时创建2个字段的索引,就不能创建成功,以下是我的源码。 Dim tbl As New ADOX.Table
Dim idx As New ADOX.Index
Dim cat As New ADOX.Catalog
cat.ActiveConnection = "Provider='Microsoft.Jet.OLEDB.4.0';" & _
"Data Source='c:\test.mdb';"
tbl.Name = "MyTable"
tbl.Columns.Append "Column1", adInteger
tbl.Columns.Append "Column2", adInteger
tbl.Columns.Append "Column3", adVarWChar, 50
cat.Tables.Append tbl
idx.Name = "multicolidx"
idx.Columns.Append "Column1"
idx.Columns.Append "Column2"
tbl.Indexes.Append idx
Set cat.ActiveConnection = Nothing
Set cat = Nothing
Set tbl = Nothing
Set idx = Nothing
Exit Sub
CreateIndexError:
cat.Tables.Delete "myTable"
Set cat = Nothing
Set tbl = Nothing
Set idx = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
Dim idx As New ADOX.Index
Dim cat As New ADOX.Catalog
cat.ActiveConnection = "Provider='Microsoft.Jet.OLEDB.4.0';" & _
"Data Source='c:\test.mdb';"
tbl.Name = "MyTable"
tbl.Columns.Append "Column1", adInteger
tbl.Columns.Append "Column2", adInteger
tbl.Columns.Append "Column3", adVarWChar, 50
cat.Tables.Append tbl
idx.Name = "multicolidx"
idx.Columns.Append "Column1"
idx.Columns.Append "Column2"
tbl.Indexes.Append idx
Set cat.ActiveConnection = Nothing
Set cat = Nothing
Set tbl = Nothing
Set idx = Nothing
Exit Sub
CreateIndexError:
cat.Tables.Delete "myTable"
Set cat = Nothing
Set tbl = Nothing
Set idx = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
我的做法是这样,用ACCESS建好一个空数据库,把它放在当前目录下,需要建库时,COPYFILE 搞定然后,再运行
CREATE TABLE
简单快捷。
哦。不过有些Sql语句只能运用在Sql Server上面~,Access不支持