想为一个表增加一个字段,然后设置该字段可以为空
Dim oCnn As New ADODB.Connection
Dim oCata As New ADOX.Catalog
Dim oTable As ADOX.Table
Dim strLink As String
'连接数据库
 strLink = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DEMO.mdb;" 'Persist Security Info=False"
oCnn.CursorLocation = adUseClient
oCnn.Open strLink
oCata.ActiveConnection = oCnn
Set oTable = oCata.Tables("Report2")
oTable.Columns.Append "AAA23", adVarWChar, 50
*****oTable.Columns("AAA23").Attributes = adColNullable程序运行到最后一行,就提示说
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.可是在新建数据库时,却一切正常 
Dim cat As New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=c:\TEST.MDB"
Set oTable = New ADOX.Table
oTable.Name = "Report2"
oTable.Columns.Append "index", adInteger
oTable.Columns("index").Attributes = adColNullable请高手指教,为什么第一种情况下出现错误,该如何解决

解决方案 »

  1.   

    稍微改改    Dim oCnn As New ADODB.Connection
        Dim oCata As New ADOX.Catalog
        Dim oTable As ADOX.Table
        Dim oColumns As Columns
        Dim oColumn As New Column
        Dim strLink As String
        '连接数据库
         strLink = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DEMO.mdb;" 'Persist Security Info=False"
        oCnn.CursorLocation = adUseClient
        oCnn.Open strLink
        oCata.ActiveConnection = oCnn
        Set oTable = oCata.Tables("Report2")
        
        oColumn.Name = "AAA23"
        oColumn.Type = adVarWChar
        oColumn.DefinedSize = 50
        oColumn.Attributes = adColNullable
        
        oTable.Columns.Append oColumn, adVarWChar, 50