我主要是要完成这样的工作,就是每天要把一个EXCEL表导入到ACCESS的同一样表中,也就是每天的EXCEL里的数据在ACCESS同一个表中累加.这要怎么做呢?我会把一个EXCEL导入到ACCESS中不存在的表中,但是再导就说那个表已存了

解决方案 »

  1.   

    用 SQL 就是不报错的。因为它是异步执行,VB 将 SQL 抛给 Jet 数据库引擎就走了。数据库引擎发现错误后就是不导入了。你有三种选择:
    1 用一个子查询事先排除重复记录:
      ... Where id not in(select id from 目标表)  其中的 id 也可以用连接起来字段值代替:
      ... Where username & entertime not in(select username & entertime from 目标表)  这样就可以自动导入非重复记录。也不必惊动操作员。2 利用 Execute 方法的 RecordsAffected 返回值检查导入的记录数
      Dim n As Long
      cn.Execute strSQL, n 3 不用 SQL ,而是循环中使用记录集的 Addnew/Update 方法,它会报错。
      

  2.   

    先把excel文件读出来(调用excel9.olb),然后读一行往数据库立提交一行,重复就报告错误或者写日志,如果数据量不大,效率没问题