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)
新闻热点
疑难解答