📄 rejdt1.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Begin VB.Form REJDT1
BorderStyle = 1 'Fixed Single
Caption = "数据恢复"
ClientHeight = 1575
ClientLeft = 45
ClientTop = 330
ClientWidth = 4635
DrawMode = 5 'Not Copy Pen
FillStyle = 0 'Solid
Icon = "REJDT1.frx":0000
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 1575
ScaleWidth = 4635
StartUpPosition = 1 '所有者中心
Begin VB.Timer Timer1
Interval = 200
Left = 2580
Top = 180
End
Begin MSComctlLib.ProgressBar ProgressBar1
Height = 315
Left = 240
TabIndex = 0
Top = 1080
Width = 4155
_ExtentX = 7329
_ExtentY = 556
_Version = 393216
BorderStyle = 1
Appearance = 1
MousePointer = 12
End
Begin MSComCtl2.Animation Animation1
Height = 735
Left = 240
TabIndex = 1
Top = 0
Width = 4215
_ExtentX = 7435
_ExtentY = 1296
_Version = 393216
AutoPlay = -1 'True
FullWidth = 281
FullHeight = 49
End
Begin VB.Label Label1
Caption = "正在解包数据文件..."
Height = 255
Left = 360
TabIndex = 2
Top = 840
Width = 1875
End
End
Attribute VB_Name = "REJDT1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim ydat As Database
Dim bdat As Database
Dim STRERROR As String
Dim HFFILE As String, HFPATH As String
Private Sub Form_Load()
Animation1.Open App.Path & "\FILECOPY.AVI"
End Sub
Private Sub Timer1_Timer()
' On Error GoTo LOCALERR
If RESTORE.BFILEEXISTS("RESTORE.WC1") Then
NFILE = FreeFile
Open "RESTORE.WC1" For Input As #NFILE
While Not EOF(NFILE)
Line Input #NFILE, STEMP
If STRERROR = "" Then
If InStr(STEMP, "ERROR:") > 0 Then STRERROR = STRERROR + Trim(Right(STEMP, Len(STEMP) - InStr(STEMP, "ERROR:") + 1))
Else
STRERROR = STRERROR + Trim(STEMP)
End If
Wend
Close #NFILE
If STRERROR = "" Then
If RESTORE.BFILEEXISTS("RESTORE.WC_") Then
If ProgressBar1.Value + 50 < ProgressBar1.Max Then ProgressBar1.Value = ProgressBar1.Value + 50
Label1.Caption = "正在恢复数据..."
RESTORE.RECBACKUP.FindFirst ("ID=13")
If Not RESTORE.RECBACKUP.NoMatch Then
Do While Not RESTORE.RECBACKUP.EOF
HFPATH = RESTORE.RECBACKUP("CS")
If Left(HFPATH, 1) = "'" Then HFPATH = Right(HFPATH, Len(HFPATH) - 1)
If Right(HFPATH, 1) = "'" Then HFPATH = Left(HFPATH, Len(HFPATH) - 1)
HFFILE = RESTORE.RECBACKUP("FILE")
If RESTORE.BFILEEXISTS(HFPATH) Then
Dim TDFLOOP As TableDef
Set ydat = OpenDatabase(HFPATH)
Set bdat = OpenDatabase("BACKUP\" & HFFILE)
With ydat
For Each TDFLOOP In .TableDefs
STRNAME = TDFLOOP.Name
If Not Left(UCase(STRNAME), 4) = "MSYS" Then
.Execute ("DELETE FROM " & STRNAME)
bdat.Execute ("INSERT INTO " & STRNAME & " IN '" & HFPATH & "' SELECT * FROM " & STRNAME)
End If
Next TDFLOOP
.Execute ("DELETE FROM 客人帐单")
bdat.Execute ("INSERT INTO 客人帐单 IN '" & HFPATH & "' SELECT * FROM 客人帐单")
.Execute ("DELETE FROM 结帐帐单")
bdat.Execute ("INSERT INTO 结帐帐单 IN '" & HFPATH & "' SELECT * FROM 结帐帐单")
.Execute ("DELETE FROM 团会房间安排")
bdat.Execute ("INSERT INTO 团会房间安排 IN '" & HFPATH & "' SELECT * FROM 团会房间安排")
.Close
bdat.Close
End With
Else
FileCopy "BACKUP\" & HFFILE, HFPATH
End If
If ProgressBar1.Value + 10 < ProgressBar1.Max Then ProgressBar1.Value = ProgressBar1.Value + 10
RESTORE.RECBACKUP.MoveNext
Loop
ProgressBar1.Value = ProgressBar1.Value + (ProgressBar1.Max - 1 - ProgressBar1.Value)
Unload Me
Else
MsgBox "系统参数文件被破坏,恢复数据无效!", vbCritical, "严重错误"
End
End If
Else
If ProgressBar1.Value < ProgressBar1.Max Then ProgressBar1.Value = ProgressBar1.Value + 1
End If
Else
MsgBox STRERROR, vbCritical, "恢复失败"
If RESTORE.BFILEEXISTS("RESTORE.BAT") Then Kill "RESTORE.BAT"
If RESTORE.BFILEEXISTS("RESTORE.WC_") Then Kill "RESTORE.WC*"
End
End If
Else
If ProgressBar1.Value < ProgressBar1.Max Then ProgressBar1.Value = ProgressBar1.Value + 1
End If
GoTo LOCALEXIT
LOCALERR:
SFHH = MsgBox(CStr(Err.Number) & "-" & Err.Description, vbCritical + vbRetryCancel, "错误")
If SFHH = vbRetry Then
Resume
Else
End
End If
LOCALEXIT:
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -