以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]ADOXBuilder COM组建调用返回了错误HRESULT E_FAIL  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33658)

--  作者:qtcks
--  发布时间:2013/5/22 12:41:00
--  [求助]ADOXBuilder COM组建调用返回了错误HRESULT E_FAIL
使用
Dim Builder As New ADOXBuilder
Builder.Open() \'打开ADOXBuilder
With Builder.Tables("表B")
提示如下错误.

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图_2013-05-22_12-37-52.png
图片点击可在新窗口打开查看


使用自带的增加列提示如下错误.

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图_2013-05-22_12-39-33.png
图片点击可在新窗口打开查看

执行以下操作后造成这个问题的
Dim Builder As New ADOXBuilder
Builder.Open() \'打开ADOXBuilder
With Builder.Tables("表B")
    For Each dl As DataCol In DataTables("表B").Datacols
        If dl.name.Contains("a") Then
            .DeleteColumn(dl.name )
        End If
    Next
End With
Builder.Close()
Syscmd.Project.Open(ProjectFile)

--  作者:Bin
--  发布时间:2013/5/22 14:14:00
--  
复制你的代码进行测试一切正常.建议楼主重新安装.net2.0 sp2
--  作者:狐狸爸爸
--  发布时间:2013/5/22 14:16:00
--  

另外看看是不是这个原因:

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=29816&skin=0

 


--  作者:qtcks
--  发布时间:2013/5/22 14:45:00
--  
删除代码没错.删除后再新增就出错.
--  作者:Bin
--  发布时间:2013/5/22 14:48:00
--  
测试了删除并且增加也没发现问题.你检查一下是不是狐爸说得那个问题.
--  作者:qtcks
--  发布时间:2013/5/22 16:26:00
--  
win8 下无法安装MDAC_TYP.
--  作者:Bin
--  发布时间:2013/5/22 16:27:00
--  
那应该是WIN8的问题了.  我这WIN7 XP测试都没问题的
--  作者:qtcks
--  发布时间:2013/5/22 16:37:00
--  
定义函数:新增临时列
Dim i As Integer
Dim Builder As New ADOXBuilder
Builder.Open() \'打开ADOXBuilder
With Builder.Tables("表A")
Do
.AddColumn("a" & i,ADOXType.String, 20) \'增加字符列,长度为20
If i > 80 Then
Exit Do
End If
i +=1
Loop
End With
Builder.Close() \'关闭ADOXBuilder
Syscmd.Project.Open(ProjectFile)


定义函数:删除临时列
Dim Builder As New ADOXBuilder
Builder.Open() \'打开ADOXBuilder
With Builder.Tables("表A")
For Each dl As DataCol In DataTables("表A").Datacols
If dl.name.Contains("a") Then
.DeleteColumn(dl.name )
End If
Next
End With
Builder.Close()
Syscmd.Project.Open(ProjectFile)


在命令窗口中执行第三次时出现错误.
Functions.Execute("新增临时列")
Functions.Execute("删除临时列")



图片点击可在新窗口打开查看此主题相关图片如下:aa.gif
图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2013/5/22 16:38:00
--  
你换台电脑测试一下有没问题.
--  作者:qtcks
--  发布时间:2013/5/22 16:40:00
--  
项目文件移到别的电脑问题同样