Excel: XueSheng.Xls   
页面一: mySheet1   
页面二:mysheet2ACCESS:XueSheng.mdb
表一:  myTable1
表二:  myTable2要求:页面一中的列数刚好是表一的字段数,页面二中的列数也等于表二中的字段数。现在要从页面一中读出数据,覆盖表一内容,再从页面二中读出数据覆盖表二中内容。
我的思路:通过ADO方法,将EXCEL也看成一个库,从EXCEL中将所有记录读取出来,再通过DELETE和INSERT,先将表内容删除,再插入。碰到问题:1、ADO中连接EXCEL的连接语句该如何写?
          2、如果是"select * from mySheet1",怎么知道会读出几列? 或者,有没有更好的方法能实现这个要求,请大虾指点!
   

解决方案 »

  1.   

    1:  Dim cn As New ADODB.Connection
        cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.xls;Extended Properties=Excel 8.0;Persist Security Info=true"
    2:  
        Dim rs As New ADODB.Recordset  
        rs.CursorLocation = adUseClient
        rs.open "select * from mySheet1",cn
        debug.print "列数为:"& rs.Fields.Count
      

  2.   

    3:有没有比较好的方法?cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.xls;Extended Properties=Excel 8.0"
    方法一:
    Cn.Execute "insert into [ODBC;Driver={Microsoft Access Driver (*.mdb)};Dbq=e:\db1.mdb;Uid=Admin;Pwd=asdasd;].t_order select * from t_order"
    方法二:
    Cn.Execute "insert into openrowset('Microsoft.Jet.OLEDB.4.0','e:\db1.mdb';'admin';'',t_order) select * from t_order"
    此时要注意列数要一致