Office中国论坛/Access中国论坛
标题:
accdb文件用代码压缩修复的方法
[打印本页]
作者:
盗梦
时间:
2014-1-7 23:19
标题:
accdb文件用代码压缩修复的方法
本帖最后由 盗梦 于 2014-1-7 23:22 编辑
标题:accdb文件用代码压缩修复的方法
作者:阿航
问题:
accdb文件是Access07版本以上的格式,旧的方法已经不适用了。被微软禁止了。
我们先来看看旧方法(旧方法适用03,2000等版本)是怎么实现压缩修复的。
旧方法:
方法一:使用CommandBars
代码:CommandBars("Tools").Controls(6).controls(2).accDoDefaultAction
方法二:使用Docmd
代码:DoCmd.RunCommand acCmdCompactDatabase
尝试使用旧方法压缩修复:
如果在Access07版本以上使用上面那两种方法,会出现提示不能使用宏或代码压缩修复数据库。
坑啊!
推陈革新:
百思不得其解,正在郁闷之时,突然灵光一闪。既然微软提升我们要用菜单栏上的压缩修复。
那也就是说,我可以通过快捷键找到那个压缩修复的选项。那就应该可以用SendKeys模拟键盘按下。
新方法:
SendKeys "%" '首先,按下Alt
SendKeys "Y" '接着按下“工具”菜单对于的快捷键
SendKeys "C" '最后按下“压缩修复”菜单项对应的快捷键
优化:
试着,运行上面的代码。果然可以实现压缩修复。激动!
不过,不知道隐藏了Ribbon界面之后,这个方法能不能实现。于是,我试着隐藏Ribbon界面。
然后再运行一下代码——果然不行。看来还要优化一下,得把Ribbon显示出来。
优化结果:
on error resume next '错误处理
DoCmd.ShowToolbar "Ribbon", acToolbarYes '显示Ribbon界面
SendKeys "%" '首先,按下Alt
SendKeys "Y" '接着按下“工具”菜单对于的快捷键
SendKeys "C" '最后按下“压缩修复”菜单项对应的快捷键
作者:
tmtony
时间:
2014-1-7 23:43
Good, 支持 源创
作者:
岭南王子
时间:
2014-1-8 00:58
顶起
作者:
leonshi
时间:
2014-1-8 08:30
谢谢分享
作者:
漫步云端
时间:
2014-1-8 10:14
可以设置成关闭时自动压缩,也能起到压缩的效果
作者:
盗梦
时间:
2014-1-8 10:16
漫步云端 发表于 2014-1-8 10:14
可以设置成关闭时自动压缩,也能起到压缩的效果
自动关闭压缩也可以用代码设置。我不想自动,只是想点一个按钮的时候就压缩修复
作者:
t小宝
时间:
2014-1-9 11:08
很实用的方法
作者:
盗梦
时间:
2014-1-9 11:17
t小宝 发表于 2014-1-9 11:08
很实用的方法
嘻嘻,投机取巧了
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3