我做了一个数据库升级程序,说白了就是把老数据库db1的表table888里面的数据全部删除,然后把新数据库db2的表table888写进db1的table888里面去。删除老表好办,写新数据也可以用最笨的方法:把db2的数据逐条读出来,然后逐条insert进去。但是,由于我要同时升级多个表,所以我事先不知道该表有哪些字段!!所以,假如用insert方法,value后面的括号就不知道该如何写了!!有什么好的解决方法呢?请高手该出手时就出手!!!

解决方案 »

  1.   

    当然需要指定字段了insert into tb2(col1,col2,....coln)
    select col1,col2,...coln from tb1
      

  2.   

    如果db1,db2中的表结构完全相同,可以这样写Insert Into tab1 select * from tab2
      

  3.   

    ManagerMan() :
     很接近了。但问题在于:tab1 在 m1.mdb,而tab2 在 m2.mdb里面!这样一个adoquery忙得过来吗??
      

  4.   

    insert into table1 as select * from table2
      

  5.   

    只能先把两个表拷到同一个.mdb文件里,然后再Insert into 
      

  6.   

    你可以在Access中直接进行管理!
      

  7.   

    INSERT INTO t2 IN 'db1.mdb'
    SELECT * 
    FROM t1 in 'db2.mdb'
      

  8.   

    xiaohepc:假如没有设密码,你的是可行的方法。但是假如有密码怎么办?两个mdb的密码还不相同怎么办?
      

  9.   

    xiaohepc(晓鹤) 的方法在没有密码时可行,如果有密码只能一条一条的insert了.
      

  10.   

    INSERT INTO [db1.mdb;pwd=111].aa
    SELECT * 
    FROM [db2.mdb;pwd=bbb].bb
      

  11.   

    以前在vb里操作access时可以用     insert into tb1 select * from  路径/m2.mdb.tab2