就是把数据库里的数据 备份到别的数据库,一旦原数据库的数据丢失,就把备份的数据添加进去 
另外,我用FILECOPY(数据库1,数据库2),但是错误提示:实时错误“70”,拒绝的权限 
我想可能是程序正在连接数据库,请问如何判断是否连接,然后断开 

解决方案 »

  1.   


    http://expert.csdn.net/Expert/topic/2135/2135093.xml?temp=.7576563
      

  2.   

    本地数据库拷贝就行了,备份与恢复要用单独的程序,不要与系统在一块.
    关闭连接:
    Cn.close
    set Cn = Nothing
      

  3.   

    你先关闭数据库的使用,然后再用你的FILECOPY(数据库1,数据库2)进行备份.
      

  4.   

    对ACCESS备份来说,一般都是备份一个文件,按你说的想法,添加数据和重新复制回来是一样的嘛.用FILECOPY是把复制任务给了系统,程序继续执行,对于小点的还可以,大一点的还原后打开回出错,因为文件还没有复制完,如果系统错误(如虚拟内存/磁盘空间不足等)就无法捕捉了。所以建议你用ShellExecute调用DOS的COPY,这样可以等待COPY
      

  5.   

    Private Sub backup_Click()  '备份数据库
     On Error GoTo errend
     db.Close                 '一定要关闭打开的数据库连接
     Set db = Nothing       '检查要备份文件是否已经存在,如果存在,删除它
     If Dir(App.Path & "\db_bak.dat") <> "" Then
        Kill App.Path & "\db_bak.dat"
     End If '备份数据库
     DBEngine.CompactDatabase App.Path & "\db.mdb", App.Path & "\db_bak.dat" MsgBox "数据库成功备份到" & App.Path & "\db_bak.dat。" & Chr(13) + Chr(10) _
             & "以后使用备份的数据库还原时,只需将数据库名改为<db.mdb>即可。", vbInformation, "系统提示"
       
       '备份完成后重新打开数据库连接
       Set db = OpenDatabase(App.Path & "\db.mdb", False, False, ";pwd=数据库密码")
       Exit Suberrend:
      'MsgBox "数据库已打开,请先关闭再备份!", vbCritical, "系统提示"
      MsgBox Err.Description, vbCritical, "系统提示"
      Set db = OpenDatabase(App.Path & "\db.mdb", False, False, ";pwd=数据库密码")
      Exit Sub
    End Sub
      

  6.   

    上面的采用了DAO的数据库压缩功能能备份数据库.可以有效减少备份文件的大小.
      

  7.   

    使用filecopy之前要关闭你的数据库连接,
      

  8.   

    简单的说,用ACCESS辈分数据库就是把数据库文件重新拷贝一下,到新的位置,还原数据库就是把先辈分的拷贝文件再拷贝回来,覆盖掉原来的文件。不过要注意的是,在辈分之前要把和此数据库连接的所有连接都断开:
    Cn.close
    set Cn = Nothing
    不然就出现本数据库正在使用的错误消息。
      

  9.   

    用filecopy前,必须中止对该文件的使用!
      

  10.   

    //请问如何判断是否连接,然后断开 if cnn.state=adstateopen then cnn.close 
    if rst.state=adstateopen then rst.close
      

  11.   

    conn.close
    set conn=nothing
    你可以是conn对像open后没有关闭,如果你还要在使用的话,必须把所有打开的都关闭!
      

  12.   

    Private Sub backup_Click()  '备份数据库
     On Error GoTo errend
     db.Close                 '一定要关闭打开的数据库连接
     Set db = Nothing       '检查要备份文件是否已经存在,如果存在,删除它
     If Dir(App.Path & "\db_bak.dat") <> "" Then
        Kill App.Path & "\db_bak.dat"
     End If '备份数据库
     DBEngine.CompactDatabase App.Path & "\db.mdb", App.Path & "\db_bak.dat" MsgBox "数据库成功备份到" & App.Path & "\db_bak.dat。" & Chr(13) + Chr(10) _
             & "以后使用备份的数据库还原时,只需将数据库名改为<db.mdb>即可。", vbInformation, "系统提示"
       
       '备份完成后重新打开数据库连接
       Set db = OpenDatabase(App.Path & "\db.mdb", False, False, ";pwd=数据库密码")
       Exit Suberrend:
      'MsgBox "数据库已打开,请先关闭再备份!", vbCritical, "系统提示"
      MsgBox Err.Description, vbCritical, "系统提示"
      Set db = OpenDatabase(App.Path & "\db.mdb", False, False, ";pwd=数据库密码")
      Exit Sub
    End Sub