正 文:
ACCESS只能壓縮已關閉的Access數據庫,因此,不能在代碼中直接對當前的數據庫進行。但可以調用Access菜單的方法解決這個問題。accDoDefaultAction是一個Office Object Library沒有公布的調用菜單的方法,下面就是解決這個問題的例程:
'對於簡體中文版Office:
'壓縮當前使用的數據庫
'要引用Microsoft Office 10.0(或9.0) Object Library
'作者:朱亦文
Public Sub CompactDB()
CommandBars("Tools"). _
Controls("數據庫實用工具(&D)"). _
Controls("壓縮和修復數據庫(&C)..."). _
accDoDefaultAction
End Sub
'英文版Office:
'壓縮當前使用的數據庫
'要引用Microsoft Office 10.0(或9.0) Object Library
'作者:朱亦文
Public Sub CompactDB()
CommandBars("Menu Bar"). _
Controls("Tools"). _
Controls("Database utilitIEs"). _
Controls("Compact and repair database..."). _
accDoDefaultAction
End Sub
或者:
'壓縮當前使用的數據庫
'要引用Microsoft Office 10.0(或9.0) Object Library
'作者:朱亦文
Public Sub CompactDB()
CommandBars("Tools").Controls(7).Controls(2).accDoDefaultAction
End Sub
注:運行本程序,你必須引用 Microsoft Office 9.0 Object Library (Office 2000)或 Microsoft Office 10.0 Object Library (Office XP)