这几天都在学怎么去做数据库备份 也看懂了一个用FSO的filecopy的例子 但是由于哪个路径设置不符合要求,所以一定要用CommonDialog来指定路径 下面是我自己写的一部分 但是关键的BackupData 部分却不会写 肯定高人帮我补充一下.数据库名称123.mdb 最好备份出来的格式是加密的. 
    另外按这样的格式在写个数据恢复的。不胜感激.....Private Sub Command1_Click()On Error GoTo failure
    
    With CommonDialog1 
        .DialogTitle = "数据库备份为.."
        .ShowSave
        If Len(.filename) = 0 Then Exit Sub
   
      If BackupData(DataPath, .filename) = 1 Then
            MsgBox "备份成功!"
            '写入系统日志
          frmbf.WriteLog ("备份数据") '        Else
failure:
        MsgBox Str(BackupData(DataPath, .filename))
         MsgBox "备份失败!"
        End If
    End With
End Sub
Private Function BackupData(ByVal filepath As String, ByVal filename As String) As Integer
 
 ???????
?????? ? 这里不会写
??????
?????? 
end function

解决方案 »

  1.   

    http://www.google.com/search?q=access%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD%E5%92%8C%E6%81%A2%E5%A4%8D+vb&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8
      

  2.   

    //看不懂
    呵呵,看不懂就要努力啊简单点的就在备份前切断数据库连接,然后用filecopy复制文件,恢复同理(先kill掉原来的文件,然后filecopy)
      

  3.   

    http://www.codesky.net/article/doc/200603/2006032843298360.htm
      

  4.   

    都是很简单的语句啊,看不懂就看看MSDN吧,实在不懂的话,再上来提问
      

  5.   

    rainstormmaster(暴风雨 v2.0) 加我QQ 吧 
    重要是没有这样的思路
      

  6.   

    这是我以前的程序中写的,运行没问题,参考~'备份数据库
    Private Sub bf_Click()
        If Dir(App.Path + "\ck.ldb") <> "" Then
            MsgBox "数据库未关闭或未完全释放!请关闭数据库或退出后再试。", 16, "错误"
            Exit Sub
        End If    If Dir(App.Path + "\ck.mdb") = "" Then
            MsgBox "源数据库不存在!请检查备份数据库文件。", 16, "错误"
            Exit Sub
        End If    With dlg
            .FileName = ""
            .Filter = "Access File *.MDB|*.MDB"
            .ShowSave
        End With    wxdb = dlg.FileName + ".mdb"
        wxdb1 = App.Path + "\ck.mdb"    If wxdb = ".mdb" Then
            Exit Sub
        Else        If StrComp(wxdb, wxdb1, 1) = 0 Then
                MsgBox "不能覆盖源文件,请选择其它路径或不同的文件名!", 16, "错误"
            Else
                FileCopy App.Path + "\ck.mdb", wxdb
                MsgBox "数据库备份成功!", "64", "提示"
            End If   End If
    End Sub'压缩数据库
    Private Sub zip_Click()    If Dir(App.Path + "\ck.ldb") <> "" Then
            MsgBox "数据库未关闭或未完全释放!请关闭数据库或退出后再试。", 16, "错误"
            Exit Sub
        End If    If Dir(App.Path + "\ck.mdb") = "" Then
            MsgBox "源数据库不存在!请检查备份数据库文件。", 16, "错误"
            Exit Sub
        End If    sourdb = App.Path + "\ck.mdb"    If Dir(App.Path + "\backup", vbDirectory) = "" Then '如果目录不存在的话,就新建一个
            MkDir App.Path + "\backup"
        End If    Dim zipm As String
        zipm = Format(Now, "yyyy.mm.dd") + "压缩"    '取得当前日期    desdb = App.Path + "\backup\" + zipm + ".mdb"    compactDB sourdb, desdb   '调用模块    MsgBox "数据库压缩成功!", "64", "提示"End Sub'恢复数据库
    Private Sub xf_Click()
        On Error Resume Next
        With dlg
            .FileName = ""
            .Filter = "Access File *.mdb|*.mdb"
            .ShowOpen
        End With    If dlg.FileName = "" Then
            Exit Sub
        Else
            wxdb = dlg.FileName
        End If    If Dir(App.Path + "\ck.ldb") <> "" Then
            MsgBox "请先关闭数据库!", 16, "错误"
            Exit Sub    Else        If wxdb = "" Then
                Exit Sub
            Else
                FileCopy wxdb, App.Path + "\ck.mdb"
                MsgBox "数据库恢复成功!", "64", "提示"
            End If    End IfEnd Sub'添加Module'*************************压缩数据库模块********************Public Function compactDB(ByVal SOUR_path As String, _
       ByVal DEST_path As String) As Boolean
    On Error GoTo Err_compact
    Dim JRO As New JRO.JetEngine
    Dim DB_sour As String, DB_dest As String
    DoEvents
    DB_sour = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
            & SOUR_path & ""
    DB_dest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
          & DEST_path & " ;Jet OLEDB:Engine Type=5;"JRO.CompactDatabase DB_sour, DB_destcompactDB = True
    Exit FunctionErr_compact:
      compactDB = False
     ' MsgBox Err.Description, vbExclamation   提示系统的错误信息---屏掉
    End Function
      

  7.   

    用过多年的Code,cheers!:
    'sDBName -- backup file anme
    'msDBFileName -- in use file name
        '
        ' Check that the user wants to backup the database
        ' at startup
        '
        If Not (moSettings.BackupDatabaseAtStart) Then  'a flag in ini file
            Exit Sub
        End If
        
        sDBName = App.Path & "\codebackup.mdb"
        
        '
        ' Kill the backup if it already exists
        '
        If Len(Dir$(sDBName)) > 0 Then
            Kill sDBName
        End If    If Len(msDBFileName) = 0 Then        MsgBox "Cannot find the last opened database : " & msDBFileName, vbInformation, App.ProductName    Else        'DBEngine.CompactDatabase msDBFileName, sDBName   'DAO compact
            If Len(sDBName) > 0 Then            Set objJRO = New JRO.JetEngine
                objJRO.CompactDatabase "Data Source=" & msDBFileName, "Data Source=" & sDBName            '
                ' Now we remove the database
                '
                Kill msDBFileName
                '
                ' Now we compact the temporary DB back into our original database
                '
                objJRO.CompactDatabase "Data Source=" & sDBName, "Data Source=" & msDBFileName
                
            End If
        End If