Access 类模块和开发框架(翻译+改编)系列之一——前言

在夜深人静的时候,我常常想,如果若干年后我不再从事 Access 开发,我所拥有的开发经验中,哪些是最值得与大 … 继续阅读“Access 类模块和开发框架(翻译+改编)系列之一——前言”

在夜深人静的时候,我常常想,如果若干年后我不再从事 Access 开发,我所拥有的开发经验中,哪些是最值得与大家分享的?一个函数?一个算法?一个用户界面设计?一个经典项目的全部代码?都不是!

我想,没有什么比这篇文章更能代表我最想分享的内容了。它代表着编程的核心思想在Access 中的最佳实践

老实讲,这个思想不是我首创的。2008 年的某一天,忘记了是何缘故,访问到了这个网站:www.colbyconsulting.com 。里面有一个系列文章,标题就是《Access Class & Framework》。我当时还不是一个专职的 Access 开发人员,也只是偶尔用 Access 开发一些专供自己偷懒用的工具。看到这篇文章以后,我如获至宝。迅速就将所有的文档和示例文件全部下载保存下来了(事后证明这是多么明智的举动)。一两年以后,这个 Access 博客网站就变成了一个卖山地自行车的网站,Colby 放弃做 Access 咨询了?到目前为止,访问这个网站显示“因信息安全问题被屏蔽”。我后来一直在google Colby的信息,始终无法找到他。

Colby 的文章没有给你一个现成的开发框架(Framework),相反,他循循善诱,一步一步的给你娓娓道来,让你了解这个开发框架的核心思想是怎样的,如何在 Access 中去实现。我根据文章的指导,结合他给出的示例代码,创建了自己的 Access 开发框架。目前在工作中,也在使用我自己创建的开发框架。但是由于精力的缘故,一直没有对自己的开发框架进行更进一步的功能提升。例如可以将 “Access 用户界面 v1.0” 集成到开发框架中,更多的功能也能够添加到开发框架之中,好多事情都没来得及做。

现在,我准备一边编译(编辑+翻译)他的文章,一边向国内的 Access 爱好者们分享这一编程思想,同时也促成自己重温这些思想,继续提升自己的开发框架的功能。

以上。

P.S.

我将 Colby 说的 Framework 一词翻译成了“开发框架”,其实我本来是想将其翻译成“开发平台”的。后来担心与国内的 2 大 Access 论坛 / 网站上的“开发平台” 相冲突,就改成“开发框架”了。我私下认为如果你将 Framework 理解成“开发平台”也是合适的。

国内有 2 大 Access 论坛 / 网站,上面都有“Access 开发平台” 供免费 / 收费下载,都做得非常优秀。我有下载免费的版本,因为看不到核心的代码,所以不敢肯定这 2 个“开发平台” 都遵循了 Colby 文章中的思想。在仔细研究了其核心平台文件的类列表信息后,我只敢确认其中之一应该不是遵循 Colby 思想的产物,而是使用“库”(Library)来达到代码重用的目的,与“开发框架”(Framework)代码重用的方式,却差了一个级别。

Access 用户界面 v1.0(公开源代码)

Access 以简单易用而为人所知,但是用户界面设计这一块,很明显是一个短板。早期 2000 版中,将一堆命令 … 继续阅读“Access 用户界面 v1.0(公开源代码)”

Access 以简单易用而为人所知,但是用户界面设计这一块,很明显是一个短板。早期 2000 版中,将一堆命令按钮排成一列放置在窗体上,组成了简陋的“导航界面”。 2010 的版本中,加入了新的窗体类型——“导航窗体”,现代化了不少,但是用起来依然不够得心应手。

一直以来,我用的都是第三方控件,例如“ctExplorer.ocx”,界面确实非常漂亮,但部署起来好麻烦。需要将控件拷贝到每台电脑,然后注册。注册的话,又需要管理员权限,公司电脑好多用户都没有管理员权限,得向 IT 部门申请。总之,各种烦。

公司某经理换电脑了,IT 为其安装了64位操作系统,这个32位的控件,彻底不能使用了。这一回,我不得不去面对挑战。

于是在网上搜索,看有没有其他解决方法。国内有 2 个大的 Access 论坛网站,提供“ Access 开发平台”免费下载,界面看起来还不错,使用的都是 “Microsoft Web Browser” 作为导航控件,但是源代码是不公开的。作为 Access 开发人员,我不能容忍自己对自己的程序有不能掌控的地方,免费的东西有时候也往往是最贵的,于是作罢,另辟蹊径。

国外第一大 Access 论坛——www.utteraccess.com上有专门一版是讨论用户界面设计的。大多只是展示各自的用户界面,很少有源文件。唯独有 2 个可下载的示例文件,导航界面没有使用任何外部控件,全部都是 Access 的基础控件(命令按钮、子窗体等)。但若要吃透其实现思想,也不是件容易的事情,因为其中使用了类模块。

经过 几周的努力,渐渐获得了一点章法。虽然还不够完美,但是基本上能解决我的问题了。现分享给大家。

点击下载Jasoftiger’s Access UI v1.0

截图: