【Access源码】鲜为人知的隐藏功能实现自动生成mde/accde
时 间:2019-03-31 17:33:16
作 者:红尘如烟 ID:10768 城市:成都
摘 要:如何用代码自动生成mde/accde文件
正 文:
当我们用Access开发一个软件完成之后,为了保护我们的劳动成果,一般有2种方式:设置VBA工程密码,编译生成mde/accde格式的仅执行文件。
而由于mdb格式已使用多年,现在网上轻易便能找到破解mdb格式的工具。而accdb格式虽然暂时没有破解工具在网上流传,但VBA本身其实已经很多年没有什么更新了,每次的新版本仅仅只是维护。因此VBA工程密码是不怎么保险的方式。那么剩下的唯一出路,就只有生成mde/accde格式的仅执行文件了。
一般我们都是通过菜单或功能区来生成。
但随着我们使用Access开发的越来越深入,就会想,每次都要点几下也挺烦的,能不能用代码自动来完成这个生成mde/accde的功能呢?
通过在VBA界面按F2打开对象浏览器,我们只找到一个 Runcommand acCmdMakeMDEFile 命令。然而很可惜,此命令是没有参数的,我们不能指定文件路径名,它本质还是和我们手动操作一样,达不到我们“自动”的需要。
拔剑四顾心茫然,敢问路在何方?路当然是有的,否则本公子半天牛逼不都白吹了!我当然不会干那种只收刀片不收红包的事情啦!
不卖关子,答案揭晓:
其实Access还有一个完全隐藏的功能可以来实现自动生成mde/accde,只不过这个功能,我们从对象浏览器,帮助文档,都是找不到它的踪迹的。
这难道就是传说中口口相传,不落文字的武林门派最高秘传心法?! 还等什么!快抢一本走罢!
'============================================================================ '函数名称: MakeMDE '功能描述: 根据MDB/ACCDB文件,编译生成MDE/ACCDE文件。 '输入参数: MDBPathname 源MDB文件路径名。 ' MDEPathname 要生成的MDE/ACCDE文件路径名。 '返回参数: 成功返回True,失败返回False。 '相关调用: '使用注意: 这里用的是Access的隐藏功能,603这个常量值,在对象浏览器和帮助文档中是找不到的。 ' 因此有可能未来的新版本Access不支持此功能,不过目前到2019都还能用。 ' 另外此函数不能放在要用来生成的MDB/ACCDB文件中,必须要在另一个文件中使用。即你 ' 不能把此函数放在A.mdb中,然后再调用它A.mdb生成A.mde。必须把函数放在B.mdb中, ' 调用它来生成A.mde。 '兼 容 性: Access 2003~2019 '参考资料: '作 者: 红尘如烟 '修订记录: 2012-07-21 创建。 ' 2019-03-31 添加错误处理,进行完善。 '============================================================================ Function MakeMDE(MDBPathname As String, MDEPathname As String) As Boolean On Error GoTo ExitHere '此常量Access本身没有,必须有这句常量声明,或者直接使用603这个值。 Const acSysCmdMakeMDE = 603 MakeMDE = False Dim appAccess As New Access.Application appAccess.SysCmd acSysCmdMakeMDE, MDBPathname, MDEPathname appAccess.Quit acQuitSaveNone MakeMDE = True ExitHere: Set appAccess = Nothing Exit Function ErrorHandler: MsgBox Err.Description, vbCritical, "Error #" & Err.Number Resume ExitHere End Function
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)
- 统计当月之前(不含当月)的记录数怎...(03.11)