参对上下两例:
下例,excel导出到access正常Private Sub adoconnect()
    Dim adocon As new ADODB.Connection
    Dim adocmd As new ADODB.Command    EXLdsnless = "provider=msdasql;driver={MICROSOFT EXCEL DRIVER (*.XLS)};dbq=c:\SOURCE.XLS"
    adocon.Open EXLdsnless
    
    cmdstring = "select * into [;database=c:\dest.mdb].[t1] from [source$]" '运行正常
    adocmd.ActiveConnection = adocon
    adocmd.CommandType = adCmdText
    adocmd.CommandText = cmdstring
    adocmd.Execute 
    
    Set adocmd = Nothing
    adocon.Close
    Set adocon = Nothing
End Sub为什么 excel 导出至 access 正常
而 text 导出至 access 有误?
是不是text的 ODBC驱动不支持 select into 语句?

解决方案 »

  1.   

    ODBC TEXT 驱动好像支持select into 语句:
    该命令查询为:
    cmdstring="select * into desti.txt from source.txt"
    又可以运行正常。怪怪怪!!!
    text->access
    怪怪怪!!!
      

  2.   

    我没有你们聪明,会用这种省力的写法
    但是我做过类似的处理,用
    DAO同时打开两个结果集对倒,没有问题。
    所有的JET IISAM驱动我都试过。
      

  3.   

    老灌:是这样导的吗?
    adorst_destination.AddNew
    adorst_destination(0)=adorstsource(0)
    adorst_destination(1)=adorstsource(1)
    ......
    adorst_destination.Update是吗?
      

  4.   

    只有一个问题:我用的是DAO,不是ADO。
    个人意见也是觉得在这些单机数据库中导数据似乎用DAO效率更高。
      

  5.   

    问题没有完全解决,看来只能一条记录一条记录地导。先给分了,感谢老灌及关注者,希望继续关注。
    如有SQL SELECT INTO解决方案者,还有高分奉上。
      

  6.   

    --后来一想,给分了,帖子不就看不到了吗?问题不就不能继续关注了吗?还是把帖子再晾几天吧。现在的想法是:
    用select into 语句真的不能将数据从text中导入access吗?
    楼上兄台见谅
      

  7.   

    一点参考:SQL Server中Select Into a,则a表不能存在
    请检查select * into [;database=c:\dest.mdb].[t1] from source.txt语句