感觉现在用Access的非常罕见了。


因为Access一直是Office系列中、甚至是微软全产品系列中的「奇葩」存在。

Access的忠实用户是谁?

多年以前,我也在职场中见到过使用它的真实故事:

使用Access的当事人并不是我,而是一位总监,他负责在线教育平台的课程内容制作(研发课程及素材,并管理起来),是位部门总监(非软体技术部门,现在已经是常务副总裁)。当时接触后发现,他们居然在使用Access管理课程内容信息,比如某个表的栏位包括「课程标题、内容开发者、类目、开发周期、预计评审时间、二次评审时间」等(太久,记不清楚了)。

当时我是新入职的总工程师,作为程序员出身的技术人,你知道在当时我肯定会鄙视这样的低端技术行为(当时第一感受:真low)。问其使用理由,其回复说:因为我不懂编程,但是Access可以满足我的需求!关于这个回复,我后面是认同的。当时想帮他重新用Java语言开发一套课程管理系统,并追加一些新的业务功能,比如视频内容管理、文档内容管理(包括转码和在线阅读)等等,当时也想参考慕课(MOOC)的形式对课程进行标准化开发,并得出「开发周期为近二个月」的结论,而他之前利用Access凭借一己之力开发的这套系统,只花了数天时间,就满足了之前十来年的课程内容管理业务的核心诉求。

以上案例,侧面说明我所经历过的Access忠实用户,其实非常清晰和明确,那就是:非专业编程人士出身的「技术人员」。

在企业信息化这个市场上,他们一直不受重视,从来没有一款资料库产品像Access这样简单、直接、甚至傻瓜式的可支持快速建立基于数据的内容管理能力。

这些用户虽然不懂得真正的编程,但可能比我们更懂得如何使用Office宏,对office整套体系和功能都非常熟练,比我们更擅长合理利用这些功能来支撑业务流程,尤其是Access、Excel。由于他们往往属于传统企业中信息化最早的触网用户,大部分现在已经处于企业的中高层位置,Access给了他们足够的自信和回报,他们当时可以借助Access来开发小型项目、管理自己的数据孤岛,保持本地环境的组织性与有效性,现在依然可以利用Access来维护非常平稳的数据内容。

19年7月全球资料库排名,Access为九强的存在

对于微软来说,Access有著不可替代的生存优势,与现代化的资料库相比,依然有著较强的竞争力,只不过其排名非常稳定,往往不升不降,就是传统企业很难变革的深层次原因导致。不说国内了,目前就连美国这样的计算机强国,也有著超过8.5万个企业用户在使用Access,这一数字在中国或许更大。

不破不立,够用就好

计算机专业出身的软体工程师,从一开始到工作十年以上,几乎都不太可能被动或主动熟悉Access技术,在他们眼中它只是low到家的、落后的数据开发技术,但在传统企业中的技术人眼中,这批现在普遍年龄在35-55岁的专业人士管理者眼中,Access是他们认为最接地气的技术,帮助企业获得了直到今天依然稳健的数据管理能力。

技术创新的主要焦点是面向专业的开发者

即便到今天为止,虽然软体市场上无代码、低代码量、解放研发生产力的业务开发型工具或平台产品越来越丰富,但大部分创新都集中发生在壁垒较高的技术领域上,从虚拟化到云计算,从云计算到容器化,到如今正在被讨论的Serverless(函数计算)架构,几乎都是面向专业程序员的开发为主,而非那些不懂编程的办公型技术人员,很少有开发工具可以像Access这样可以让他们如此友好的快速上手,并可以自定义的选择业务,产生令人兴奋且持久的业务价值。

这些极富干劲又有部门内决策权利的同学,不希望在职场中求助于专业的编程人士,更愿意自己快速动手来解决问题,至少Access提供给了他们这样的动手能力。

我了解到的大多数Access的项目场景,往往不存在多个人同时在线编辑数据的情况,也较少存在将数据开放给内外部平台的情况,更重要的是,使用者只需要简单的填写表单、填写报表,完成栏位和约束设置,就可以满足内部的业务开发诉求,这对于中小型求生存的企业来说、甚至包括大型传统企业的保守部门来说,确实是「够用就好」。

Access用户眼中的「信息高速公路」

因为好多办公用户只知道Excel, 甚至还会用Excel来做一些资料库的工作, 比如专门建立一个Sheet用来堆放原始数据, 然后从其他Sheet中用公式去调用. 然后等到这个原始数据表格越来越大的时候, 那个"神奇的Excel"文件就变得不大灵光了.

其实他们只是没有意识到自己在Excel中干的事, 本来就因该是Access的领域而已.

Excel, 真的只是一个表格工具, 它最主要的功能就是用来"呈现数据", 也就是把数据以需要的形势表现出来, 不光是画格子, 画各种图表, 各种统计分析结果, 甚至列印效果.

但是轮到"数据仓库"这种事, 还是要交给专业的工具来干, 那就是资料库, 哪怕Access它只是一个桌面资料库, 它也是正儿八经的资料库. 无论是对于数据类型的控制, 栏位长度的控制, 数据容量的存放, 多用户并发性能, 安全性能等等, 都不是Excel可以比拟的.

所以, 前端展示依旧保留Excel, 但是后面的"数据仓库"变成Access, 就完全不是一个概念的体验了.

从某种意义上来说, 现在的Excel确实也越来越像资料库了, 比如它可以容纳更多的数据...但它毕竟只是一个表格处理软体. 公式,宏图标控制项才是它真正的打开方式. 而数据容纳则不是它的强项.

当你尝试过在一张Excel表格中存放上万条记录, 并且想用某种"智能化"的方式, 比如写一些公式和运算语句去处理数据的时候, 就可以体会到让人崩溃的心情了. 而且因为Excel作为一个通用表格工具, 并不具备严谨的数据类型校验. 很多时候一些是是而非的用户输入, 会让你花了大把心思整出来的东西变成一堆牢骚. (这种东西没有体会过的人绝对想不到)

所以, 就像很所回复中所提到的那样, 有没有用到Access的Office用户是应用水平的分水岭.

夏虫不可语冰, 除开讽刺的意味, 也是在阐述一个事实.


Access对标的是SQLite这种小型单机文件资料库。只要在其他平台上有需要使用SQLite的场景,就会有在Windows下对应需要使用Access的场景。

有人会问为什么不用Excel呢?虽然微软ODBC是支持用Excel作为数据源的,但是Excel只是一个表格排版工具,虽然Excel支持大量的函数和排序筛选等特性,但是严格来说Excel不能算做一个专业的数据处理工具。因为数据本身应该有范式,有关联性,Excel一个合并单元格操作就已经打破了资料库最基础的第一范式,所以Excel根本不能作为严谨的数据仓库。很多情况下数据处理人员仅仅需要既有Excel简单的操作,但是又需要数据之间存在一些关联性和范式约束,这个时候就是Access的使用场景了。

另外SQLite官方并没有推出美观并且方便易用的GUI客户端,微软的Access本身UI设计语言和Office其他工具类似,所以用户上手难度极低。甚至很多情况下不会SQL都可以做一些简单的资料库操作。即使是复杂的多表关联查询操作,也可以使用查询生成器构建,这非常适合很多根本不会SQL语言的人使用。这一点目前商业软体里面只有Navicat做的比较好,但是这款工具本身也有一定BUG,比如E-R模型图过大会导致逆向工程卡死,或者操作过程中闪退,Access毕竟微软大公司出品,用了这么久还没发现有什么严重BUG。


把镜头拉远一点。

回到上世纪末,

还有 dBase, Foxbase, Foxpro, 等等等等。

对了, SYBASE。

SQL ANYWHERE, POWERBUILDER。

网站来说, 不知道还有没有人知道 「陶清的网站」。

office中为何还要保留Access资料库?

这个问题是一个典型的「历史虚无主义」的问题。

机关单位里还有很多很多的数据是存在 Access资料库里面的。

尽管迁移这些数据的工具早就烂大街了。

例如 ER-WIN 等等, 可是谁来给钱呢。

1993年5月,Logic Works公司发布了ERwin/ERX,该工具的一个版本旨在与PowerBuilder一起工作。
使用ERwin创建的资料库模型可以转化为通过PowerBuilder集成开发环境(IDE)构建的软体.


因为很多人又需求需要做一个系统,会要用到资料库。

但是很多人又不懂编程。

这样子你光有资料库,会用资料库,也没有软用。

而access恰恰满足这两点。

access哪怕不会编程也可以做出简单的界面,结合资料库就能做一些简单的系统。

甚至进阶一点可以结合VBA做出一个强大系统了。

而VBA入门很简单,不需要太多编程知识就可以了。

更重要一点,大部分资料库是需要安装的,也就是你程序做好了给别人用的时候还得安装。甚至有些需要一个专门的运行资料库文件,一直挂载。

而access的话是整合在office中的,而基本上很多电脑都有office。

同时使用资料库的时候,需要的时候载入一下资料库文件,不需要就退出,轻松简单。

还可以轻松的把资料库文件发给别人。

还能轻松的修改程序。

总之就是方便。

其他资料库在很多地方比access好。

但是综合来说,不方便,不好用。

所谓好用就是让你一个没有基础的人从入门到自己搞出一个系统需要的时间最短。

别人使用最短。

这里面access界面和excel差不多也是一个优势。


推荐阅读:
相关文章