我用VB做的一个程序,使用DATA控件和DAO调用Access数据库,已经基本完成了。但是在数据的备份和恢复上遇到了问题。原先我是简单的用filecopy来把数据库文件保存到用户指定位置,但是在使用中发现这无法解决实际问题。希望各位大侠赐教,如何实现如下功能:1、把数据库中符合某查询条件的所有数据备份为一个数据库文件
2、把备份文件中的数据添加到现使用的数据库中(是“添加”而不是文件覆盖,原有的数据要保留)也许这个问题对各位高手来说是小菜一碟,可我不会啊,求各位帮帮我吧。谢谢了!

解决方案 »

  1.   

    使用Insert into语句 
    备份:
    db.Execute "Insert Into Table_bak in 'backup.mdb' Select * From Source_Table Where 1=1;" 
    恢复
    db.Execute "Insert Into Source_Table Select * From Table_bak in 'backup.mdb' Where 1=1;"
      

  2.   

    楼上是对的,不过'backup.mdb' 要先存在(可以先用FILECOPY复制产生),"Insert Into Table_bak ..."是保留了先前的数据的。应该用drop 删除表,再"select * into ... from ..."
    产生表。另一个方法:
    1、FileCopy 复制并改名
       FileCopy Source_fliename New_Filename
    2、在新的MDB数据库中,把数据库中不符合某查询条件的所有数据,通过delete语句删除,剩下的记录即为“符合某查询条件的所有数据”,至此你的第一个问题已经解决
    3、Insert Into Source_Table Select * From Table_bak in 'backup.mdb' ,同楼上。