📄 frmdatabackadd.frm
字号:
VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Begin VB.Form frmDataBackAdd
BorderStyle = 3 'Fixed Dialog
Caption = "选择备份时段"
ClientHeight = 3090
ClientLeft = 45
ClientTop = 330
ClientWidth = 5610
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3090
ScaleWidth = 5610
ShowInTaskbar = 0 'False
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton cmdPath
Caption = "..."
Height = 300
Left = 4800
TabIndex = 16
Top = 1770
Width = 600
End
Begin VB.TextBox txtPath
Height = 300
Left = 1680
TabIndex = 14
Text = "存放路径"
Top = 1770
Width = 3105
End
Begin VB.TextBox txtName
Height = 285
Left = 1680
TabIndex = 13
Text = "文件名称"
Top = 1350
Width = 3705
End
Begin VB.CommandButton cmdExit
Caption = " 取消(&C)"
Height = 350
Left = 4110
TabIndex = 10
Top = 2430
Width = 1300
End
Begin VB.CommandButton cmdBackup
Caption = "开始备份"
Height = 350
Left = 2760
TabIndex = 9
Top = 2430
Width = 1300
End
Begin VB.OptionButton optDate
Height = 195
Left = 180
TabIndex = 8
Top = 990
Width = 345
End
Begin VB.OptionButton optSSSQ
Height = 195
Left = 180
TabIndex = 7
Top = 540
Width = 345
End
Begin VB.TextBox txtSSSQ1
Height = 300
Left = 1680
MaxLength = 6
TabIndex = 2
Text = "所属时期1"
Top = 480
Width = 1350
End
Begin VB.TextBox txtSSSQ2
Height = 300
Left = 3780
MaxLength = 6
TabIndex = 1
Text = "所属时期2"
Top = 480
Width = 1350
End
Begin MSComCtl2.UpDown UpDown2
Height = 285
Left = 5115
TabIndex = 0
Top = 480
Width = 270
_ExtentX = 450
_ExtentY = 503
_Version = 393216
Enabled = -1 'True
End
Begin MSComCtl2.DTPicker DTPDate2
Height = 300
Left = 3735
TabIndex = 3
Top = 930
Width = 1650
_ExtentX = 2910
_ExtentY = 529
_Version = 393216
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Format = 62259201
CurrentDate = 36180
End
Begin MSComCtl2.DTPicker DTPDate1
Height = 300
Left = 1680
TabIndex = 4
Top = 930
Width = 1650
_ExtentX = 2910
_ExtentY = 529
_Version = 393216
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Format = 62259201
CurrentDate = 36180
End
Begin MSComCtl2.UpDown UpDown1
Height = 285
Left = 3030
TabIndex = 11
Top = 480
Width = 270
_ExtentX = 450
_ExtentY = 503
_Version = 393216
Enabled = -1 'True
End
Begin VB.Label lblFilePath
AutoSize = -1 'True
Caption = "存放路径"
Height = 180
Left = 900
TabIndex = 15
Top = 1830
Width = 720
End
Begin VB.Label lblFileName
Alignment = 1 'Right Justify
AutoSize = -1 'True
Caption = "文件名称"
Height = 180
Left = 885
TabIndex = 12
Top = 1410
Width = 720
End
Begin VB.Label lblSSSQ
AutoSize = -1 'True
Caption = "文书所属时期 到"
Height = 180
Left = 510
TabIndex = 6
Top = 540
Width = 3150
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "文书导入日期 到"
Height = 180
Left = 510
TabIndex = 5
Top = 990
Width = 3150
End
End
Attribute VB_Name = "frmDataBackAdd"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdBackup_Click()
'*********************************************************
'功能: 备份sys_Image表中的指定时段的的纪录至新数据库文件中
'
'*********************************************************
On Error GoTo ErrorHandler
Dim Msg As String
Dim strTemp As String
Dim rstBackNum As ADODB.Recordset
Dim conNewDatabase As ADODB.Connection
'检查文件名是否合法
If Trim(txtName) = vbNullString Then
MsgBox "备份文件名称不能为空!", vbInformation
txtName.SetFocus
SendKeys "{Home}+{End}"
Exit Sub
End If
'检查文件路径是否合法
If Trim(txtPath) = vbNullString Then
MsgBox "备份文件路径不能为空!", vbInformation
txtPath.SetFocus
SendKeys "{Home}+{End}"
Exit Sub
End If
If Dir(txtPath, vbDirectory) = vbNullString Then
MkDir (txtPath)
End If
If Right(txtPath, 1) <> "\" Then
txtPath = txtPath & "\"
End If
Screen.MousePointer = vbHourglass
'检查该文件是否已存在
If Dir(txtPath & txtName & ".mdb") <> vbNullString Then
Msg = MsgBox("该文件名称已经存在,是否覆盖?", vbYesNo + vbInformation)
Select Case Msg
Case vbYes
Kill (txtPath & txtName & ".mdb")
Case vbNo
MsgBox "请重新输入文件名称!", vbInformation
Exit Sub
End Select
End If
'关闭当前的数据库连接
conCaseMain.Close
'复制数据库文件
FileCopy App.Path & "\CaseMain.mdb", txtPath & txtName & ".mdb"
'打开新数据库文件
Set conNewDatabase = New ADODB.Connection
conNewDatabase.Provider = csProvider
conNewDatabase.CursorLocation = adUseServer
conNewDatabase.ConnectionTimeout = 60
conNewDatabase.Open txtPath & txtName & ".mdb"
'删除新数据库文件中的废纪录
If optSSSQ.Value = True Then
strTemp = "DELETE FROM sys_Image WHERE Img_SSSQ <'" & txtSSSQ1 & "' AND Img_SSSQ>'" & txtSSSQ2 & "'"
Else
strTemp = "DELETE FROM sys_Image WHERE Img_Import_Date<'" & DTPDate1.Value & "' AND Img_Import_Date>'" & DTPDate2.Value & "'"
End If
conNewDatabase.Execute strTemp
'取得新数据库中的文件总数和文书总数
Dim FileNum As Long
Set rstBackNum = New ADODB.Recordset
rstBackNum.Open "SELECT COUNT(Img_Case_Code) AS FileNum FROM sys_Image", conNewDatabase, 1, 1 ', adCmdText
FileNum = rstBackNum!FileNum
rstBackNum.Close
'关闭新数据库连接
conNewDatabase.Close
'重新打开当前数据库连接
conCaseMain.Open csConCaseMain
'在sys_Backup表中添加一条纪录
Dim rstBack As ADODB.Recordset
Set rstBack = New ADODB.Recordset
If optSSSQ.Value = True Then
strTemp = "SELECT * FROM sys_Backup WHERE " & _
"Back_SSSQ='" & txtSSSQ1 & "_" & txtSSSQ2 & "' AND " & _
"Back_SSDate='无'"
Else
strTemp = "SELECT * FROM sys_Backup WHERE " & _
"Back_SSSQ='无' AND " & _
"Back_SSDate='" & DTPDate1.Value & "_" & DTPDate2.Value & "'"
End If
rstBack.Open strTemp, conCaseMain, 1, 1 ', adCmdText
With rstBack
If Not .EOF Then .MoveLast
If Not .BOF Then .MoveFirst
If .RecordCount > 0 Then
Msg = MsgBox("该所属时期或时间段的数据已备份,是否重新备份?", vbYesNo + vbInformation)
Select Case Msg
Case vbYes
Do Until .EOF
rstBack.Delete
Loop
Case vbNo
MsgBox "请重新选择所属时期或时间段!", vbInformation
rstBack.Close
Exit Sub
End Select
End If
.AddNew
!Back_FileName = txtName & ".mdb"
!Back_FilePath = txtPath
!Back_SSSQ = IIf(optSSSQ.Value = True, txtSSSQ1 & "_" & txtSSSQ2, "无")
!Back_SSDate = IIf(optDate.Value = True, DTPDate1.Value & "_" & DTPDate2.Value, "无")
!Back_Date = Date
!Back_Description = "正常"
!Back_FileNum = FileNum
'!Back_CaseNUm = rstBackNum!CaseNum
.Update
End With
rstBack.Close
Screen.MousePointer = vbDefault
MsgBox "备份成功!", vbInformation
Unload Me
Exit Sub
ErrorHandler:
If Err Then
MsgBox Err.Description, vbCritical
Err.Clear
Screen.MousePointer = vbDefault
End If
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub cmdPath_Click()
Dim fFindPath As frmFindPath
Set fFindPath = New frmFindPath
fFindPath.Show vbModal
txtPath.Text = fFindPath.ThisPath
End Sub
Private Sub UpDown1_DownClick()
Dim tmpDate As String
tmpDate = DateValue(Left(txtSSSQ1, 4) & "/" & Right(txtSSSQ1, 2) & "/01")
txtSSSQ1.Text = Year(DateAdd("M", -1, tmpDate)) & Format(Month(DateAdd("M", -1, tmpDate)), "0#")
End Sub
Private Sub UpDown1_UpClick()
Dim tmpDate As String
tmpDate = DateValue(Left(txtSSSQ1, 4) & "/" & Right(txtSSSQ1, 2) & "/01")
txtSSSQ1.Text = Year(DateAdd("M", 1, tmpDate)) & Format(Month(DateAdd("M", 1, tmpDate)), "0#")
End Sub
Private Sub UpDown2_DownClick()
Dim tmpDate As String
tmpDate = DateValue(Left(txtSSSQ2, 4) & "/" & Right(txtSSSQ2, 2) & "/01")
txtSSSQ2.Text = Year(DateAdd("M", -1, tmpDate)) & Format(Month(DateAdd("M", -1, tmpDate)), "0#")
End Sub
Private Sub UpDown2_UpClick()
Dim tmpDate As String
tmpDate = DateValue(Left(txtSSSQ2, 4) & "/" & Right(txtSSSQ2, 2) & "/01")
txtSSSQ2.Text = Year(DateAdd("M", 1, tmpDate)) & Format(Month(DateAdd("M", 1, tmpDate)), "0#")
End Sub
Private Sub Form_Load()
'初始化备份模式
optSSSQ.Value = GetSetting(App.Title, "Settings", "DataBackMode", True)
optSSSQ.Value = Not optSSSQ.Value
'初始化所属时期
txtSSSQ1 = Year(DateAdd("M", -1, Date)) & Format(Month(DateAdd("M", -1, Date)), "0#")
txtSSSQ2 = Year(Date) & Format(Month(Date), "0#")
'初始化导入日期
DTPDate1.Format = dtpLongDate
DTPDate2.Format = dtpLongDate
DTPDate1.Value = DateAdd("D", -1, Date)
DTPDate2.Value = Date
'初始化文件名称,存放路径
txtName.Text = vbNullString
txtPath.Text = vbNullString
End Sub
Private Sub Form_Unload(Cancel As Integer)
'保存备份模式
SaveSetting App.Title, "Settings", "DataBackMOde", optSSSQ.Value
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -