开发手记(十)——在VB中解压缩ACCESS数据库文件(mi6236)

开发手记(十)——在 VB中解压缩ACCESS数据库文件

- 为保证文章完整性,谢绝对某篇而非全部手记的转载( mi6236)

'压缩文件函数,dataS为源文件,dataz为目标文件,传出为一个布尔值

Private Function DataZip(ByVal Datas As String, ByVal Dataz As String) As Boolean

On Error GoTo Compact_Error

Dim JRO As JRO.JetEngine

Set JRO = New JRO.JetEngine

Dim fso As New FileSystemObject

If fso.FileExists(Dataz) = True Then

If MsgBox("此压缩文件已存在是否将其覆盖?", vbYesNo + vbQuestion, "压缩工程数据文件") = vbYes Then

Kill Dataz

Else

Exit Function

End If

End If

'压缩工程文件

JRO.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Datas, _

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Dataz & ";Jet OLEDB:Engine Type=5"

DataZip = True

MsgBox "工程数据压缩成功!", vbInformation + vbOKOnly, "压缩数据文件"

Exit Function

Compact_Error:

DataZip = False

If Err.Number = -2147467259 Then

MsgBox "数据压缩失败!(可能你的数据库正被其他程序使用,请将重新运行系统!)", vbOKOnly + vbInformation, "错误"

Exit Function

End If

dbEncrypt.SaveError "MDIForm1-DataZip"

End Function

'解压缩函数,datas未压缩文件,dataz为已压缩文件

Private Function Zipext(ByVal Dataz As String, ByVal Datas As String) As Boolean

On Error GoTo Compact_Error

Dim JRO As JRO.JetEngine

Set JRO = New JRO.JetEngine

Dim fso As New FileSystemObject

If fso.FileExists(Datas) = True Then

If MsgBox("此工程文件已存在是否将其覆盖?", vbYesNo + vbQuestion, "解压缩工程数据文件") = vbYes Then

Kill Datas

Else

Exit Function

End If

End If

'解压缩工程文件

JRO.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Dataz, _

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Datas & ";Jet OLEDB:Engine Type=5"

Zipext = True

MsgBox "工程数据解压缩成功!", vbOKOnly + vbInformation, "解压缩数据文件"

Exit Function

Compact_Error:

Zipext = False

If Err.Number = -2147467259 Then

MsgBox "数据压缩失败!(可能你的数据库正被其他程序使用,请将重新运行系统!)", vbOKOnly + vbInformation, "错误"

Exit Function

End If

dbEncrypt.SaveError "MDIForm1-DataZip"

End Function

Published At
Categories with Web编程
Tagged with
comments powered by Disqus