Public Function ParseLoggicFiles(BakFile As String, DataFile As String, LogFile As String, Optional LogicLogFile As String, Optional logicDataFile As String) On Error GoTo errhandler Dim tempRec As ADODB.Recordset Set tempRec = DoQuery("RESTORE FILELISTONLY FROM DISK = '" & BakFile & "'") While Not tempRec.EOF If tempRec.Fields("type").Value = "D" Then 'ハヌハセンホトシ logicDataFile = tempRec.Fields("LogicalName").Value DataFile = tempRec.Fields("physicalname").Value ElseIf tempRec.Fields("type").Value = "L" Then 'ハヌネユヨセホトシ LogicLogFile = tempRec.Fields("LogicalName").Value LogFile = tempRec.Fields("physicalname").Value End If tempRec.MoveNext Wend Exit Function errhandler: End Function
Public Sub restoreDb(SourceBackupfile As String, DbName As String, ObjDataFile As String, ObjLogfile As String) Dim RestoreStr As String Dim i As Integer Dim logicDataFile As String, LogicLogFile As String Dim tempDataFile As String, TempLogFile As String
Screen.MousePointer = vbDefault MsgBox "ハセンソ篏ヨクエウノケヲ", vbOKOnly + vbInformation End Sub
'单击databasebak备份数据库 Private Sub databasebak_Click() Set fsofile = CreateObject("scripting.filesystemobject") CommonDialog1.Filter = "mdb文件(*.mdb)|*.mdb" CommonDialog1.ShowSave fsofile.copyfile App.Path & "\book.mdb", CommonDialog1.FileTitle End Sub '单击databaserecover恢复数据库 Private Sub databaserecover_Click() Set fsofile = CreateObject("scripting.filesystemobject") CommonDialog1.Filter = "mdb文件(*.mdb)|*.mdb" CommonDialog1.ShowOpen fsofile.copyfile CommonDialog1.FileTitle, App.Path & "\house.mdb" End Sub
那你就记SQL语句得了,把数据转为SQL语句保存起来.
或者把数据导到xml文件中,恢复时再导回来.
http://www.chenoe.com/PlanTasks
On Error GoTo errhandler
Dim tempRec As ADODB.Recordset
Set tempRec = DoQuery("RESTORE FILELISTONLY FROM DISK = '" & BakFile & "'")
While Not tempRec.EOF
If tempRec.Fields("type").Value = "D" Then 'ハヌハセンホトシ
logicDataFile = tempRec.Fields("LogicalName").Value
DataFile = tempRec.Fields("physicalname").Value
ElseIf tempRec.Fields("type").Value = "L" Then 'ハヌネユヨセホトシ
LogicLogFile = tempRec.Fields("LogicalName").Value
LogFile = tempRec.Fields("physicalname").Value
End If
tempRec.MoveNext
Wend
Exit Function
errhandler:
End Function
Dim RestoreStr As String
Dim i As Integer
Dim logicDataFile As String, LogicLogFile As String
Dim tempDataFile As String, TempLogFile As String
ParseLoggicFiles SourceBackupfile, tempDataFile, TempLogFile, LogicLogFile, logicDataFile
RestoreStr = "restore database " & DbName & " from disk='" & SourceBackupfile & "' with REPLACE,move '" & logicDataFile & "' to '" & ObjDataFile & "',move '" & LogicLogFile & "' to '" & ObjLogfile & "'"
ConductConn cn, True
MyGetConnection.Execute RestoreStr
Screen.MousePointer = vbDefault
MsgBox "ハセンソ篏ヨクエウノケヲ", vbOKOnly + vbInformation
End Sub
call restoreDb Trim(Me.txtSourceBackupFile.text), Trim(Me.txtObjDbName.text), Trim(Me.txtObjDataFile.text), Trim(Me.txtObjLogFile.text)
Private Sub databasebak_Click()
Set fsofile = CreateObject("scripting.filesystemobject")
CommonDialog1.Filter = "mdb文件(*.mdb)|*.mdb"
CommonDialog1.ShowSave
fsofile.copyfile App.Path & "\book.mdb", CommonDialog1.FileTitle
End Sub
'单击databaserecover恢复数据库
Private Sub databaserecover_Click()
Set fsofile = CreateObject("scripting.filesystemobject")
CommonDialog1.Filter = "mdb文件(*.mdb)|*.mdb"
CommonDialog1.ShowOpen
fsofile.copyfile CommonDialog1.FileTitle, App.Path & "\house.mdb"
End Sub