请问高手如何将以下DAO建库的方法改为ADO的啊!!!
CreateDatabase Text2.Text & Text1.Text & "^0^2003\mdb\" & Text1.Text & ".mdb", dbLangGeneral
Set DefDatabase = Workspaces(0).OpenDatabase(Text2.Text & Text1.Text & "^0^2003\mdb\" & Text1.Text & ".mdb", 0, False)
Set DefTable = DefDatabase.CreateTableDef("cacp")
For i = 0 To Rsall.Fields.Count - 1
If Rsall.Fields(i).Type = "10" Then
Set DefField = DefTable.CreateField(Rsall.Fields(i).Name, dbText, Rsall.Fields(i).Size)
ElseIf Rsall.Fields(i).Type = "12" Then
Set DefField = DefTable.CreateField(Rsall.Fields(i).Name, dbMemo)
End If
DefTable.Fields.Append DefField
DefField.AllowZeroLength = True
Next i
DefDatabase.TableDefs.Append DefTable
DefDatabase.Close
create table,alter table命令会用吧,通过connection,command等对象就行
有 解决资料,我就不赘述了。http://www.csdn.net/develop/article/16/16851.shtm
或者用ADOX对象,但不要ADO和DAO混用。ADOX
创建数据库范例
如下代码显示如何通过 Create 方法创建新的 Jet 数据库。Sub CreateDatabase() Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\new.mdb"End SubSub CreateTable() Dim tbl As New Table
Dim cat As New ADOX.Catalog'打开目录。
' 打开目录。
cat.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.mdb;" tbl.Name = "MyTable"
tbl.Columns.Append "Column1", adInteger
tbl.Columns.Append "Column2", adInteger
tbl.Columns.Append "Column3", adVarWChar, 50
cat.Tables.Append tblEnd SubSub CreateIndex() Dim tbl As New Table
Dim idx As New ADOX.Index
Dim cat As New ADOX.Catalog' 打开目录。
' 打开目录。
cat.ActiveConnection = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.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 idxEnd Sub创建关键字范例
如下代码演示如何创建新的外部关键字。假定已存在两个表(Customers 和 Orders)。Sub CreateKey() Dim kyForeign As New ADOX.Key
Dim cat As New ADOX.Catalog cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\Program Files\Microsoft Office\" & _
"Office\Samples\Northwind.mdb;" kyForeign.Name = "CustOrder"
kyForeign.Type = adKeyForeign
kyForeign.RelatedTable = "Customers"
kyForeign.Columns.Append "CustomerId"
kyForeign.Columns("CustomerId").RelatedColumn = "CustomerId"
kyForeign.UpdateRule = adRICascade
cat.Tables("Orders").Keys.Append kyForeignEnd SubADO210.CHM