我要实现在VBA中从DBF表中得到数据再加到Excel表中,我用的是ADO,我自己机上有装vb6
我在自己机上写的宏是可以使用的,代码如下:
Private Sub CommandButton1_Click()
    Dim Cn As New ADODB.Connection, Rs As New ADODB.Recordset
    Cn.ConnectionString = "Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceType=DBF;SourceDB=C:\Bar"
    On Error GoTo DealErr
    Cn.Open
    Rs.Open "Select * From T_BAR.DBF", Cn
    Do While Rs.EOF = False
    '''''
    得到数据进行加入到Excel表格里
    '''''
        Rs.MoveNext
    Loop
    Exit Sub
DealErr:
    Cn.Close
    Set Cn = Nothing
End Sub
在自己机上是可以实现的,没有问题的,可是我拿到别人的机上,那机上是没有装vb6的,我在引用里已经把Microsoft ActionX Data Objects 2.5 Library选中了,
可是在启动这个按钮的时候出错:
"运行时错误...
对象关闭时,不允许操作"
后来我把ado的控件文件msadodc.ocx复制过来并注册到那个机子上,可是还是这个错误,请问有什么办法解决没有

解决方案 »

  1.   

    或者说不用ADO用别的可以取出DBF里面的数据也可以
      

  2.   

    对了,是在Cn.Open 这里出的错
      

  3.   

    msadodc.ocx?
    应当是Msadox. dll吧?
      

  4.   

    Microsoft Activex Data Objects 2.5 Library选中
    说明ado已经可以了,dbf没用过,我想应当是该电脑没有dbf的引擎造成的,在该电脑装dbf试一下
      

  5.   

    你的dbf有没有被dbc数据库占用.如果有是不能单独打开的,必须先打开dbc数据库.
      

  6.   

    如果你能打开只有他不能打开的话原因一下很难查清.
    不过我建议你去掉那个"On Error GoTo DealErr"来调试一下就知道问题了.