⑴ 怎样减少ACCESS数据库大小
我的下面一些经验可以为你的问题提供答案。
常规办法:
1)删除不必要的数据和无用的ACCESS数据库对象例如表、查询、窗体和模块等;
2)压缩数据库
ACCESS2003压缩举例:打开数据库,点击菜单(工具)——数据库实用工具——压缩和修复数据库
非常规办法:
ACCESS数据库经过一段时间添加、更改和删除数据库对象后会产生很多代码及数据库对象碎片和垃圾,对于这些东西常规办法是无法清除的。这也是为什么你的ACCESS数据删除很多数据后,大小不变的原因所在。
怎么办呢?可以这样做:先建立一个同名空白数据库,放在另一个文件夹下,接着打开该空白数据库,导入原数据库全部有用的对象(包括:表、窗体、查询、模块、页、宏,无用的不要导入)
ACCESS2003导入对象举例:文件——获取外部数据——导入 ,打开“导入”对话框选择需要缩小的数据库后,点击导入按钮,打开“导入对象”对话框 选择全部有用的数据库对象,例如表、窗体等等后点击“确定”按钮 完成导入全部数据库对象。
经过上述过程后,所有的数据库垃圾都会被清除掉。再对其进行一次压缩操作,ACCESS数据库将会处在理论上最小状态。
⑵ 压缩access数据库的原理
1.首先你要了解数据库变大的原因:随着您不断添加、更新数据以及更改数据库设计,数据库文件会变得越来越大。导致增大的因素不仅包括新数据,还包括其他一些方面:
(1)Access 会创建临时的隐藏对象来完成各种任务。有时,Access 在不再需要这些临时对象后仍将它们保留在数据库中。
(2)删除数据库对象时,系统不会自动回收该对象所占用的磁盘空间。也就是说,尽管该对象已被删除,数据库文件仍然使用该磁盘空间。
随着数据库文件不断被遗留的临时对象和已删除对象所填充,其性能也会逐渐降低。其症状包括:对象可能打开得更慢,查询可能比正常情况下运行的时间更长,各种典型操作通常似乎也需要使用更长时间。
2.所以,压缩数据库并不是压缩数据,而是通过清除未使用的空间来缩小数据库文件。
3.压缩数据库可以防止数据库变大而引起的执行性能变慢,防止因此造成的数据库损坏。
⑶ vb怎么调用access数据库的压缩功能
java">
'
这些代码可放在模块中,在其他窗体也使用"kernel32"Alias_
"GetTempPathA"(ByValnBufferLengthAsLong,ByVallpBufferAsString)AsLong
PublicConstMAX_PATH=260
Public
Sub
CompactJetDatabase(Location
As
String,
Optional
BackupOriginal
As
Boolean
=True)
OnErrorGoToCompactErr
DimstrBackupFileAsString
DimstrTempFileAsString
'
检查数据库文件是否存在IfLen(Dir(Location))Then
'
如果需要备份就执行备份IfBackupOriginal=TrueThen
strBackupFile=GetTemporaryPath&"backup.mdb"
IfLen(Dir(strBackupFile))ThenKillstrBackupFile
FileCopyLocation,strBackupFile
EndIf'
创建临时文件名strTempFile=GetTemporaryPath&"temp.mdb"
IfLen(Dir(strTempFile))ThenKillstrTempFile'
通过
DBEngine
压缩数据库文件DBEngine.CompactDatabaseLocation,strTempFile'
删除原来的数据库文件KillLocation'
拷贝刚刚压缩过临时数据库文件至原来位置FileCopystrTempFile,Location
⑷ 怎样压缩和修复Access文件
Access软件本身就具备压缩和修复功能,如图:
方法一:单击 压缩和修复数据库 按钮即可;
⑸ 能不能在EXCEL中用VBA语句执行"压缩并修复access数据库
在Access数据文件中设置关闭Access时自动压缩。然后用VBA打开access数据库,再关闭。
用语句不稳定。可能会出现引用或位数不兼容原因报错。
⑹ access数据库如何压缩和修复
单击 access 左上角 office按钮;
单击 “管理”选项;
出现的 第一项就是“压缩和修复数据库”。
⑺ 如何在access中压缩当前数据库
如果想压缩数据库,可以在左上角Office图标--->管理---->压缩和修复数据库。
如图所示,会在右下角显示正在压缩,按Esc键停止压缩。
⑻ 怎样用vb把数据库(Access)压缩和修复
以前使用
DAO
时,Microsoft
有提供
CompactDatabase
Method
来压缩
Microsoft
Access
文件,RepairDatabase
Method
来修复损坏的
Microsoft
Access
文件,。可是自从
ADO
出来之后,好像忘了提供相对的压缩及修复
Microsoft
Access
文件的功能。
现在
Microsoft
发现了这个问题了,也提供了解决方法,不过有版本上的限制!限制说明如下:
ActiveX
Data
Objects
(ADO),
version
2.1
Microsoft
OLE
DB
Provider
for
Jet,
version
4.0
这是
Microsoft
提出的
ADO
的延伸功能:Microsoft
Jet
OLE
DB
Provider
and
Replication
Objects
(JRO)
这个功能在
JET
OLE
DB
Provider
version
4.0
(Msjetoledb40.dll)
及
JRO
version
2.1
(Msjro.dll)
中第一次被提出!
这些必要的
DLL
文件在您安装了
MDAC
2.1
之后就有了,您可以在以下的网页中下载
MDAC
的最新版本!
Universal
Data
Access
Web
Site
在下载之前先到
VB6
中检查一下,【控件】【设定引用项目】中的
Microsoft
Jet
and
Replication
Objects
X.X
library
如果已经是
2.1
以上的版本,您就可以不用下载了!
1、新建一个新表单,选择功能表中的【控件】【设定引用项目】。
2、加入
Microsoft
Jet
and
Replication
Objects
X.X
library,其中
(
X.X
大于或等于
2.1
)。
3、在适当的地方加入以下的程序代码,记得要修改
data
source
的内容及目地文件的路径:
Dim
jro
As
jro.JetEngine
Set
jro
=
New
jro.JetEngine
jro.CompactDatabase
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=d:\
wind2.mdb",
_
'来源文件
在
DAO
3.60
之后,RepairDatabase
Method
已经无法使用了,以上的程序代码显示了
ADO
CompactDatabase
Method
的用法,而它也取代了
DAO
3.5
时的
RepairDatabase
method!
⑼ 如何在access2007 打开时压缩数据库,用VBA。
有必要吗?不是在自定义选项那里就有一个选项,可以在关闭时自动进行压缩的吗?在OFFICE安右键——选择自定义按钮——然后选当前数据库,那里有一个关闭时压缩选项!经常ACCESS的压缩和备份是非常有必要的。。因为当数据量大的时候很容易出错,经常压缩就不会~~~谢谢~
⑽ 怎样用vb把数据库(Access)压缩和修复
以前使用 DAO 时,Microsoft 有提供 CompactDatabase Method 来压缩 Microsoft Access 文件,RepairDatabase Method 来修复损坏的 Microsoft Access 文件,。可是自从 ADO 出来之后,好像忘了提供相对的压缩及修复 Microsoft Access 文件的功能。
现在 Microsoft 发现了这个问题了,也提供了解决方法,不过有版本上的限制!限制说明如下:
ActiveX Data Objects (ADO), version 2.1
Microsoft OLE DB Provider for Jet, version 4.0
这是 Microsoft 提出的 ADO 的延伸功能:Microsoft Jet OLE DB Provider and Replication Objects (JRO)
这个功能在 JET OLE DB Provider version 4.0 (Msjetoledb40.dll) 及 JRO version 2.1 (Msjro.dll) 中第一次被提出!
这些必要的 DLL 文件在您安装了 MDAC 2.1 之后就有了,您可以在以下的网页中下载 MDAC 的最新版本!
Universal Data Access Web Site
在下载之前先到 VB6 中检查一下,【控件】【设定引用项目】中的 Microsoft Jet and Replication Objects X.X library 如果已经是 2.1 以上的版本,您就可以不用下载了!
1、新建一个新表单,选择功能表中的【控件】【设定引用项目】。
2、加入 Microsoft Jet and Replication Objects X.X library,其中 ( X.X 大于或等于 2.1 )。
3、在适当的地方加入以下的程序代码,记得要修改 data source 的内容及目地文件的路径:
Dim jro As jro.JetEngine
Set jro = New jro.JetEngine
jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\
wind2.mdb", _ '来源文件
在 DAO 3.60 之后,RepairDatabase Method 已经无法使用了,以上的程序代码显示了 ADO CompactDatabase Method 的用法,而它也取代了 DAO 3.5 时的 RepairDatabase method!