ACCESS只能压缩已关闭的ACCESS数据库,因此,不能在代码中直接对当前的数据库进行。但可以调用ACCESS菜单的方法解决这个问题。accDoDefaultAction是一个Office Object Library没有公布的调用菜单的方法,下面就是解决这个问题的例程: 中国站.长.站
''对于简体中文版OFFICE:
Chinaz@com
''压缩当前使用的数据库 Www@Chinaz@com
''要引用Microsoft Office 10.0(或9.0) Object Library Www.Chinaz.com
| 以下为引用的内容: Public Sub CompactDB() CommandBars("Tools"). _ Controls("数据库实用工具(&D)"). _ Controls("压缩和修复数据库(&C)..."). _ accDoDefaultAction End Sub |
站长.站
''英文版Office: 中.国.站.长.站
''压缩当前使用的数据库
Www^Chinaz^com
''要引用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 |
或者:
Www~Chinaz~com
''压缩当前使用的数据库 Www~Chinaz~com
''要引用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) Chinaz@com
