谢谢!在线等

解决方案 »

  1.   

    你的备份MDB函数代码是怎样的呢?能详细些吗?
      

  2.   

    Access备份代码这里有很多,搜一下就大把了。这是FAQ的:
    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=195584
      

  3.   

    使用FILECOPY,发生“实时错误:70,被拒绝的权限”编号:QA000525
    建立日期: 1999年2月13日 最后修改日期:1999年2月13日 
    所属类别: Visual Basic - 数据库
    Visual Basic - 错误信息
    Visual Basic - 磁盘、文件和目录 mj: 
        我有一个问题想请教,就是我在程序中想备份ACCESS数据库文件,使用FILECOPY,但程序总是显示“实时错误:70,被拒绝的权限”,不知为何?还望指教。 回答:     估计你在复制文件的时候,你的数据库被打开了。如果数据库被打开(除非你的数据库是以只读方式打开的),读文件操作会被禁止,所以无法拷贝文件。解决的办法就是暂时关闭数据库(包括数据控件)。 此问题由李海回答。 
      

  4.   

    Public Sub meCopyMDB()
        Static bCopied As Boolean
        Static dCopyDate As Date
        Dim Source As String
        Dim destination As String
        Dim strMsg As String
        On Error GoTo errCopyMDB
        If dCopyDate = Date Then
            bCopied = True
        Else
            bCopied = False
        End If
        If bCopied Then
            MsgBox "今天已经备份过数据库文件了!", vbInformation, "数据备份"
            Exit Sub
        End If
        Source = "mdb\db1.mdb"
        destination = "数据库备份\dat1.mdb"
        strMsg = "源数据库文件是: " & Source & Chr(13) & Chr(10) _
                & "备份数据库文件是:" & destination & Chr(13) & Chr(10) _
                & Chr(13) _
                & "要备份吗?"
                
         
        If MsgBox(strMsg, vbYesNo + vbQuestion, "数据备份") = vbNo Then Exit Sub
        
        If Dir(Source) = "" Then '--------------------------------------------- 1.
            strMsg = "数据库文件: " & Source & " 丢失.备份失败!" & Chr(13) & Chr(10) _
                  & "请通知有关人员恢复此文件!"
            MsgBox strMsg, vbExclamation, "备份失败!"
        Else
            If Dir("数据库备份\", vbDirectory) = "" Then '--- 2.
                 MkDir ("数据库备份\")
                 MsgBox "在C:盘安装目录建立了一个备份文件夹:数据库备份\", vbInformation, "数据备份"
            End If
            
            FileCopy Source, destination
            bCopied = True
            dCopyDate = Date
            
            MsgBox "备份结束.", vbInformation, "数据备份"
            
         End If '------------------------------------------------------------ 1.
         Exit Sub
    errCopyMDB:
        Call meErr("meCopyMDB")
    End Sub
    代码应该没问题,有时候也能备份上,有时不可以
      

  5.   

    在备份时候关闭掉要备份的MDB文件。
      

  6.   

    我在程序中没有打开数据库呀,利用FileCopy来备份的
      

  7.   

    不是这个意思,我是指你在备份前,先手动把ACCESS关闭掉,并非叫你关闭程序中引用的ADO对象。
      

  8.   

    肯定有打开了,可以先执行下列程序,然后就可以用filecopy了,这是DAO的,你可能要修改一下Public Sub CloseDBConnect()
      ' 关闭数据库对象并且释放内存
      On Error Resume Next
      
      Dim WS As Workspace
      Dim DB As Database
      Dim rs As Recordset
      
      For Each WS In Workspaces
        For Each DB In WS.Databases
          For Each rs In DB.Recordsets
            rs.Close
            Set rs = Nothing
          Next
          DB.Close
          Set DB = Nothing
        Next
        WS.Close
        Set WS = Nothing
      Next
    End Sub
      

  9.   

    上面都没有说到点子上。运用FileCopy函数需要系统的最高权限
    例如:在Windows2000上运行需要Administrator级权限