综述:1、不要寄希望于access自带的加密,稍有使用经验的人一下就明白你采用了这种加密方式,首先就会想到去下载破解软件去解开这个脆弱的密码,所以这个密码形同虚设(除非骗骗不怎么熟悉access的人),而对这一事件的捕捉估计无法做到,内嵌的程序它是不会对使用者开放的;
2、使用自定义的带密码(密码要转换算法)的登陆窗口登陆,条件触发“引爆”效果,当然期待有更好的“引爆”自身的程式的写法,这种采用批处理删除的方式也有局限的;
3、转换成mde保护代码,禁用shift,隐藏表(隐藏成access的“系统对象”),启动时隐藏或最小化access自身窗口,在“启动”项里进行设置,不显示相关项目;
4、解禁用shift的方式也是有的,但以上措施应付一般对象来说足够了,也就是对保护你的所谓“机密”相对足够了,硬是碰上有备而来的“高手”那也是无奈的事情,因为安全措施总是相对的。
5、还是要管好你自己的U盘,把丢失的几率降到最低。
听了几位老师的回答,感到在Access自带的密码框输入阶段做文章是不太现实的。还是自己设计登陆框吧。
我现在重新设计一个方案:
1.双击该数据库文件,打开数据库。
2.弹出登陆密码框,框中设确定与取消两按钮,屏幕右上角不设Access关闭按钮或干脆暂时隐去Access主程序窗口,屏幕上只有光光的一个登陆密码框。
3.若第一遍密码正确,则打开该库,一切Access该有的菜单,工具,各种功能都恢复正常,没有丝毫限制。
4.若第一遍密码不正确或空值确定(回车)或按取消按钮都将弹出信息提示“密码错误,请重新输入”。
5.若第二遍密码正确,也能正常打开数据库使用。
6.若第二遍密码不正确或空值确定(回车)或按取消按钮都将引爆自身。
7.看了两位老师的例子,虽然文件自杀的效果惊心动魄,但考虑到这种做法的难度和实际情况,决定执行删除全部表和删除后用代码立刻执行压缩和修复数据库2个动作。即只咬舌自尽不求粉身碎骨,留个空壳全尸给他。
以上我的方案肯定还有可笑的地方,欢迎老师们修改完善。
基本条件是1.他是“君子”2.他无备而来
3.希望死在“君子”手上,等他交给“小人”来破译时,给的只是一具尸体。
我的新方案主要照顾到主人使用的安全便利,对于他人其实从双击开始就点燃了导火索。再有本人水平实在低,制作这个方案都如登珠峰,象2位老师那样要用到批处理,实在无法实现。既然老师们都没有提出改进意见,说明基本可行,那我赶紧去做吧。