📄 frmdatabackup.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmDataBackup
Caption = "数据备份"
ClientHeight = 3255
ClientLeft = 60
ClientTop = 345
ClientWidth = 6435
Icon = "frmDataBackup.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3255
ScaleWidth = 6435
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton cmdCancel
Cancel = -1 'True
Caption = "取消(&C)"
Height = 375
Left = 3750
TabIndex = 7
Top = 2640
Width = 1095
End
Begin VB.CommandButton cmdOK
Caption = "确定(&E)"
Default = -1 'True
Height = 375
Left = 1590
TabIndex = 6
Top = 2640
Width = 1095
End
Begin MSComctlLib.ProgressBar ProgressBar1
Height = 375
Left = 840
TabIndex = 5
Top = 1920
Visible = 0 'False
Width = 4815
_ExtentX = 8493
_ExtentY = 661
_Version = 393216
Appearance = 1
End
Begin VB.Frame Frame1
Height = 1455
Left = 750
TabIndex = 0
Top = 120
Width = 4935
Begin VB.OptionButton optBackupHard
Caption = "备份到硬盘"
Height = 255
Left = 720
TabIndex = 2
Top = 840
Width = 1215
End
Begin VB.OptionButton optBackupFloppy
Caption = "备份到软盘"
Height = 255
Left = 720
TabIndex = 1
Top = 360
Value = -1 'True
Width = 1215
End
Begin VB.CheckBox chkBackupData
Caption = "备份数据库"
Height = 255
Left = 3000
TabIndex = 4
Top = 840
Value = 1 'Checked
Width = 1215
End
Begin VB.CheckBox chkBackupSystem
Caption = "备份系统库"
Height = 255
Left = 3000
TabIndex = 3
Top = 360
Value = 1 'Checked
Width = 1215
End
End
End
Attribute VB_Name = "frmDataBackup"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim fso As New FileSystemObject
Dim drv As Drive, fil As File
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim strAppName As String, strNewName As String, i As Integer
If optBackupFloppy.Value = True Then '备份到软盘
Set drv = fso.GetDrive("A:")
If Not drv.IsReady Then
MsgBox "驱动器没有准备好!", vbCritical + vbOKOnly, "数据备份"
Exit Sub
End If
If Not fso.FolderExists("A:\Backup") Then
fso.CreateFolder ("A:\Backup")
End If
If chkBackupSystem.Value = Checked Then '备份系统库
strAppName = App.Path & "\权限表.mdb"
strNewName = "A:\Backup\权限表.mdb"
CopyFileFloppy strAppName, strNewName
strAppName = App.Path & "\用户档案.mdb"
strNewName = "A:\Backup\用户档案.mdb"
CopyFileFloppy strAppName, strNewName
strAppName = App.Path & "\水费标准库.mdb"
strNewName = "A:\Backup\水费标准库.mdb"
CopyFileFloppy strAppName, strNewName
End If
If chkBackupData.Value = Checked Then '备份数据库
strAppName = App.Path & "\Main" & Year(Now) & Month(Now) & ".mdb"
strNewName = "A:\Backup\Main" & Year(Now) & Month(Now) & ".mdb"
If Not fso.FileExists(strAppName) Then
MsgBox Year(Now) & "年" & Month(Now) & "月数据库不存在!", vbCritical + vbOKOnly, "数据备份"
Exit Sub
End If
CopyFileFloppy strAppName, strNewName
End If
'设置进度条
ProgressBar1.Visible = True
ProgressBar1.Min = 1: ProgressBar1.Max = 100
For i = 1 To 100
ProgressBar1.Value = i
Next
ProgressBar1.Visible = False
ElseIf optBackupHard.Value = True Then '备份到硬盘
If Not fso.FolderExists(App.Path & "\Backup") Then
fso.CreateFolder (App.Path & "\Backup")
End If
If chkBackupSystem.Value = Checked Then '备份系统库
strAppName = App.Path & "\权限表.mdb"
strNewName = App.Path & "\Backup\权限表.mdb"
fso.CopyFile strAppName, strNewName
strAppName = App.Path & "\用户档案.mdb"
strNewName = App.Path & "\Backup\用户档案.mdb"
fso.CopyFile strAppName, strNewName
strAppName = App.Path & "\水费标准库.mdb"
strNewName = App.Path & "\Backup\水费标准库.mdb"
fso.CopyFile strAppName, strNewName
End If
If chkBackupData.Value = Checked Then '备份数据库
strAppName = App.Path & "\Main" & Year(Now) & Month(Now) & ".mdb"
strNewName = App.Path & "\Backup\Main" & Year(Now) & Month(Now) & ".mdb"
If Not fso.FileExists(strAppName) Then
MsgBox Year(Now) & "年" & Month(Now) & "月数据库不存在!", vbCritical + vbOKOnly, "数据备份"
Exit Sub
End If
fso.CopyFile strAppName, strNewName
End If
'设置进度条
ProgressBar1.Visible = True
ProgressBar1.Min = 1: ProgressBar1.Max = 100
For i = 1 To 100
ProgressBar1.Value = i
Next
ProgressBar1.Visible = False
End If
MsgBox "备份完毕!", vbInformation + vbOKOnly, "数据备份"
Unload Me
End Sub
Private Sub CopyFileFloppy(strAppName As String, strNewName As String)
On Error GoTo ErrorHandler '错误处理
Set fil = fso.GetFile(strAppName)
fso.CopyFile strAppName, strNewName
ErrorHandler:
If drv.FreeSpace < fil.Size Then
MsgBox "磁盘空间不够!请换盘", vbCritical + vbOKOnly, "数据备份"
Resume
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -