VB使用ADOX压缩修复ACCESS数据库文件的类模块
来源:互联网 发布:2015马哥linux运维 编辑:程序博客网 时间:2024/05/01 16:33
Option Explicit'//***********************************************************************'//类模块名称:ClsCompactDatabase'//版权所有:米特仪表有限公司 版权所有'//开发作者:段利庆(Lee)'// QQ:14035344'// http://www.duanliqing.kudo.cn'// http://leek.woku.com'//创建日期:2010-07-28'//功能描述:处理数据库文件备份'// 备注:引用 Microsoft Jet and Replication Objects X.X library,其中 ( X.X 大于或等于 2.1 )。'//***********************************************************************'*系统临时文件夹路径Private Declare Function GetTempPath Lib "kernel32" Alias _ "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As LongPrivate Sub ErrMessage(ByVal Procedure As String, _ Optional ByVal AffErrMsg As String)'' ==========================================================' 开发人员:段利庆' 编写时间:2009-02-01' 过程名称:ErrMessage' 参数说明:Procedure 过程或函数的名称' 可选参数:AffErrMsg 附加说明的错误消息提示文本'' 功能说明:类模块内使用的错误消息,功能便于跟踪错误的来源'' ========================================================== Dim strMsg As String strMsg = strMsg & strMsg strMsg = strMsg & " ErrNumber: " & Err.Number & vbCrLf strMsg = strMsg & "ErrDescription: " & Err.Description & vbCrLf If Len(AffErrMsg) <> 0 Then strMsg = strMsg & " AffErrMsg: " & AffErrMsg & vbCrLf End If '*空一行 strMsg = strMsg & " " & vbCrLf '*类模块的名称 strMsg = strMsg & " Module: " & "ClsBin" & vbCrLf strMsg = strMsg & " Procedure: " & Procedure & vbCrLf '*空一行 strMsg = strMsg & " " & vbCrLf strMsg = strMsg & "Please notify My Software's tech support " & vbCrLf strMsg = strMsg & "at QQ:14035344 about this issue." & vbCrLf strMsg = strMsg & "Please E-mail to lee_software@sohu.com.cn " & vbCrLf strMsg = strMsg & "Please provide the support technician with " & vbCrLf strMsg = strMsg & "information shown in this dialog " & vbCrLf strMsg = strMsg & "box as well as an explanation of what you were" & vbCrLf strMsg = strMsg & "doing when this error occurred." & vbCrLf MsgBox strMsg, vbCritical, "ClsCompactDatabase" Err.Clear End Sub'*获得系统临时文件夹路径'*仅给压缩数据库用Private Function subGetTemporaryPath() Const MAX_PATH = 260 Dim strFolder As String Dim lngResult As Long strFolder = String(MAX_PATH, 0) lngResult = GetTempPath(MAX_PATH, strFolder) If lngResult <> 0 Then subGetTemporaryPath = Left(strFolder, InStr(strFolder, Chr(0)) - 1) Else subGetTemporaryPath = "" End IfEnd FunctionPublic Sub subCompactJetDatabase(Location As String, Optional BackupOriginal As Boolean = True)'' ==========================================================' 开发人员:段利庆' 编写时间:10-07-28' 过程名称:subCompactJetDatabase' 参数说明:Location 数据库文件所在目录' BackupOriginal 是否需要备份数据库'' 功能说明:压缩数据库,去除数据库操作产生的冗于' 注意:必须应用DAO的<DBEngine>对象'' ========================================================== On Error GoTo CompactErr Dim strBackupFile As String Dim strTempFile As String '检查数据库文件是否存在 If Len(Dir(Location)) Then ' 如果需要备份就执行备份 If BackupOriginal = True Then strBackupFile = subGetTemporaryPath & "backup.mdb" If Len(Dir(strBackupFile)) Then Kill strBackupFile FileCopy Location, strBackupFile End If ' 创建临时文件名 strTempFile = subGetTemporaryPath & "temp.mdb" If Len(Dir(strTempFile)) Then Kill strTempFile Dim jro As jro.JetEngine Set jro = New jro.JetEngine '來源文件 jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Location & ";Jet OLEDB:Database Password=duan", _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strTempFile '压缩后生成tempDB.mdb ' 删除原来的数据库文件 Kill Location ' 拷贝刚刚压缩过临时数据库文件至原来位置 FileCopy strTempFile, Location ' 删除临时文件 Kill strTempFile Else End If MsgBox "数据库压缩完毕!", vbOKOnly + vbExclamationExit SubCompactErr: Dim sAffErrMsg As String sAffErrMsg = "数据库打开时不能压缩!请退出程序重试!" Call ErrMessage("subCompactJetDatabase", sAffErrMsg)End Sub
程序设计:段利庆(Lee) QQ;14035344
- VB使用ADOX压缩修复ACCESS数据库文件的类模块
- VB使用ADOX压缩修复ACCESS数据库文件的类模块
- 大富翁论坛-富翁笔记-利用Delphi压缩和修复MS Access 2000的数据库文件
- VB压缩/修复Access数据库操作源代码
- 压缩/修复 Access数据库操作 (VB/ASP)
- VB使用ADOX获得各种数据库的表
- VB.NET创建/修复/压缩/备份/恢复ACCESS数据库
- C#修复/压缩ACCESS数据库的代码
- access压缩修复
- 压缩修复Access数据库
- 压缩、修复ACCESS 复制 ACCESS
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- 使用ADOX创建Access数据库和表
- Website Insecurity: This grinds my gears....
- 容器基础知识
- TreeView如何与数据库二维表数据绑定
- 学习孙鑫 java无难事日志--第一讲
- Javascript学习笔录5(Javascript 函数怎么玩)
- VB使用ADOX压缩修复ACCESS数据库文件的类模块
- 在Android源码里编译apk
- 如何:实现和调用自定义扩展方法
- mtd-utils 工具的使用
- android UI进阶之弹窗的使用
- Java正则表达式示例
- 黑马程序员——查询
- CSRF with upload – XHR-L2, HTML5 and Cookie replay
- C++学习第2篇-简单入门