Private Sub Form_Load()
Text1.Text = App.Path & "/db1.mdb"
End Sub
Private Sub Command1_Click()
On Error Resume Next
Dim sNewName As String
Dim sBakFile As String
sNewName = Text1.Text
sDatabase = sNewName
MousePointer = 11
sNewFile = Left$(sDatabase, Len(sDatabase) - 3) & "NEW"
sBakFile = Left$(sDatabase, Len(sDatabase) - 3) & "BAK"
If Check1.Value = 1 Then
Name sDatabase As sBakFile '备份数据库
End If
DBEngine.RepairDatabase sDatabase '修复数据库
If Dir(sNewFile) <> "" Then
Kill sNewFile
End If
DBEngine.CompactDatabase sDatabase, sNewFile '压缩数据库
If Dir(sBakFile) <> "" Then
Kill sBakFile
End If
If Dir(sDatabase) <> "" Then
Kill sDatabase
End If
Name sNewFile As sDatabase
bCompactMDB = True
MousePointer = 0
MousePointer = 0
MsgBox "压缩数据库完成!"
End Sub
Private Sub Command3_Click()
End
End Sub
---------------------------------------------------------------------------------------------------------
在VB中压缩ACCESS数据库
http://it.icxo.com/htmlnews/2004/07/29/278348.htm
---------------------------------------------------------------------------------------------------------
'使用vb提供的Microsoft Jet and Replication来压缩数据库
'在引用中选中Microsoft Jet and Replication,然后应用如下代码
Dim j As New JRO.JetEngine
'创建压缩临时数据库到另一目录
j.CompactDatabase "provider=Microsoft.Jet.OLEDB.4.0;data " & _
"source=D:/myDB.mdb;" & _
"jet oledb:database password=123456789", _
"provider=Microsoft.Jet.OLEDB.4.0;data " & _
"source=E:/myDB.mdb;" & _
"jet oledb:encrypt database=true;" & _
"jet oledb:database password=123456789"
'删除原来的数据库
Kill "D:/myDB.mdb"
'将压缩后的数据库复制回原来位置
FileCopy "E:/myDB.mdb", "D:/myDB.mdb"
'删除临时数据库
Kill "E:/myDB.mdb"
set j = nothing
博客展示了在VB中压缩ACCESS数据库的代码。包含在Form_Load事件中设置数据库路径,在Command1_Click事件里进行数据库备份、修复、压缩等操作,还介绍了使用Microsoft Jet and Replication压缩数据库的方法,涉及创建临时数据库、删除原数据库等步骤。
886

被折叠的 条评论
为什么被折叠?



