📄 m30.htm
字号:
<html>
<head>
<title>VB教程</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<p align="center"><script src="../../1.js"></script></a>
<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center>
<table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
<tbody>
<tr>
<td bgcolor=#000000 height=14>
<div align=center class=H1> <font color="#FFFFFF" class="unnamed1">在VB中压缩ACCESS 数据库</font> </font> </font></div>
</td>
</tr>
<tr valign=top>
<td class=H1 height=236>
<p align="left"> <br>
如果您在 Access 数据库、Access 项目中删除数据或对象,可能会产生碎片并导致磁盘空间使用效率的降低。同时,数据库文件的大小并未减小,而是不断的增大,直至您的硬盘没有空间。有没有好的处理方法呢?其实,在Access中可以对数据库进行压缩优化以提升Access
数据库和 Access 项目的性能,这样的压缩处理的实质是复制该文件,并重新组织文件在磁盘上的存储方式。但是,在 Access 项目中进行这样的压缩不会影响到数据库对象(例如表或视图),因为它们是存储在
Microsoft SQL Server 数据库中而不是在 Access 项目本身中。同样,这样的压缩也不会影响到 Access 项目中的自动编号。在
Access 数据库中,如果已经从表的末尾删除了记录,压缩该数据库是就会重新设置自动编号值。添加的下一个记录的自动编号值将会比表中没有删除的最后记录的自动编号值大一。
<br>
下面介绍如何在VB中用一个CompactJetDatabase过程实现对Access数据库文件的压缩处理,在这个过程中有一个可选参数,就是在压缩前你是否需要把原有的数据库文件备份到临时目录(True或
False)。我用此办法使21.6MB的数据库压缩到仅仅300KB。 <br>
' 这些代码可放在模块中,在其他窗体也使用 <br>
Public Declare Function GetTempPath Lib "kernel32" Alias _ <br>
"GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String)
As Long <br>
Public Const MAX_PATH = 260 <br>
Public Sub CompactJetDatabase(Location As String, Optional BackupOriginal
As Boolean = True) <br>
On Error GoTo CompactErr <br>
Dim strBackupFile As String <br>
Dim strTempFile As String <br>
'检查数据库文件是否存在 <br>
If Len(Dir(Location)) Then <br>
' 如果需要备份就执行备份 <br>
If BackupOriginal = True Then <br>
strBackupFile = GetTemporaryPath & "backup.mdb" <br>
If Len(Dir(strBackupFile)) Then Kill strBackupFile <br>
FileCopy Location, strBackupFile <br>
End If <br>
<br>
' 创建临时文件名 <br>
strTempFile = GetTemporaryPath & "temp.mdb" <br>
If Len(Dir(strTempFile)) Then Kill strTempFile <br>
<br>
'通过DBEngine 压缩数据库文件 <br>
DBEngine.CompactDatabase Location, strTempFile <br>
<br>
' 删除原来的数据库文件 <br>
Kill Location <br>
<br>
' 拷贝刚刚压缩过临时数据库文件至原来位置 <br>
FileCopy strTempFile, Location <br>
<br>
</font></span> <br>
</p>
</td>
</tr>
</table>
</div>
<p align="center"><a href="../../pian/vb.htm">回首页</a>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -