Dim cnn as ADODB.Connection
Dim cnstr=”Microsoft Excel Driver (*.xls);DBQ=” & dbpath
Cnn.Open
Dim rs as new adodb.Recordset
Rs.Open “select * from [sheet1$]”,cnn,1,1
‘*********以上查询能正确执行,并已得到正确结果*********
‘*********但下面的代码确提示“[Microsoft][ODBC Excel Driver]操作必须使用一个可更新
‘*********的查询“*************************
rs.addnew
rs!编号=Trim(txt_id.text)
rs!姓名=Trim(txt_name.text)
rs.UpdateBatch

解决方案 »

  1.   

    Rs.Open “select * from [sheet1$]”,cnn, adOpenDynamic, adLockOptimistic以动态方式打开就可以更新了,不知道你的1,1是什么方式,可读性太差!!
      

  2.   

    我想用ADO向EXCEL表中添加记录,怎么实现呀?最好有代码,谢谢.
      

  3.   

    Rs.Open “select * from [sheet1$]”,cnn,1,1
    改为
    Rs.Open “select * from [sheet1$]”,cnn,3,2
      

  4.   

    工程->引用->Microsoft Excel 9.0 Object Library(后面为版本号)Dim exlApp as New Excel.Application至于怎么用VBA控制EXCEL,你可以上EXCEL中录制宏看看,就会知道答案的~~~~~
      

  5.   

    cuizm(射天狼):我用Rs.Open “select * from [sheet1$]”,cnn, adOpenDynamic, adLockOptimistic 也不行呀,怎么办呀,拜托了
      

  6.   

    我们老师不让用Microsoft Excel 9.0 Object Library,要求用ADO实现,我晕了
      

  7.   

    Rs.Open “select * from [sheet1$]”, adOpenDynamic, adLockBatchOptimistic应该可以,你试一下
      

  8.   

    sheet1(1,1)="内容" 1和1都为单元格地址
    再一个Rs.Open “select * from [sheet1$]”,cnn,1,1
    为只读方式打开不可以更新
    用1,2吧.
      

  9.   

    see thesehttp://support.microsoft.com/default.aspx?scid=kb;EN-US;278973
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;257819