我使用的是:“Microsoft ADO Ext. 2.8 for DDL and Security”这个部件。
现在问题是我要向一个已经存在的access数据库 添加一个数据表
一下代码想打开数据库:Dim strConn as String
Dim cat As ADOX.Catalog
strConn = Trim("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath)
cat.Create strConn可是当用ADOX打开数据库时,报错说:“数据库已经存在” 错误代码:-2147217897 
cat里面是空的。那我该如何向已存在的数据库添加新表呢?

解决方案 »

  1.   


    Private Sub Command1_Click()
        Dim cat As New ADOX.Catalog
        Dim tbl As New Table
        Dim s As String
        Dim snow() As String, i As Long, n As Long
        Dim a As String
        Dim pstr As String
        
        pstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Persist Security Info=False"
       
        n = 3
        ReDim snow(n, 1)
        For i = 0 To n
            snow(i, 0) = "x" & i
            tbl.Columns.Append snow(i, 0), adInteger, 2
            tbl.Columns(i).Attributes = adColNullable '允许空
        Next i
        s = "mytest" '表名
        cat.ActiveConnection = pstr
        tbl.Name = s
        cat.Tables.Append tbl
        MsgBox "建表 " & s & " 成功!", 64, "提示"
    End Sub
      

  2.   

    还可以使用ADODB,然后用sql语句CREATE TABLE来建表。
      

  3.   

    不要用
    cat.Create  //这个是创建新数据库用的如果仅仅打开已存在的数据库
    cat.ActiveConnection = strConn
    即可。