因为Access不上不下,而且对于微软来说不赚钱。
前言:很多人不明白,Access首先是一个办公软件,其次才是一个数据库,它面向的用户是普通办公人员,它面向的场景是办公室或部门级。性能和多并发等等现代数据库看重的东西,对于Access来说恰恰是不重要的,它最重要的用途是给了普通用户一个易用的“关系型数据模型”处理软件,所以更不要拿Excel这种靠Vlookup来凑数的电子表格软件来对比。
对于普通用户来说Access本来应该是一个不错的桌面级数据库应用,它天生是文件形式,容易迁移,很容易做后端共享,还有一个我认为相当简单易用的前端制作方法(窗体、报表)。如果作为部门级数据库本应是相当不错的,我早先也做了一些简单的应用给办公室的同事使用,用于避免每个人都拥有自己版本的Excel文件,提高信息共享。然并卵,大家热情不高,一个原因是,普通办公室的人并没有关系型数据库的概念,意识不到数据库带来的便利(要不是强制,我估计很多人连ERP都不想碰)。另一个原因是,入门台阶比较高,一旦使用发生问题,一般人根本束手无策,远没有Excel的便利。
虽然Access相较于其它专业数据库,已经是傻瓜级别,无需借助其它工具就可以做一个不错的前端,甚至无需编程。然而无需编程不代表不需要懂编程,要想用明白它,几个必要的知识需要有基本的了解,如数据库概念、范式、SQL语句、VBA语法,这几条概念对于程序员来讲是基础概念,但对于excel函数都用不明白的普通用户来讲,基本属于不可逾越的大山的级别。这些障碍不是说Access再优化下、再添加几个辅助功能就能化解的,是天生的。所以Access可以说从一开始,就是面向高级用户(有人称为power user)的,虽然它放到了Office包里。
但是面向高级用户也有问题,高级用户不等于专业用户,这些人属于会琢磨,但也会惹事,对于一个企业来讲,需要放进数据库的数据是宝贵的,是经不起风险的,高级用户自身的能力以及精力方向最多可以保证Access给自己用不出问题,但保证不了给其他人用不出问题,所以对一个稳定经验的企业来讲,关于数据库的操作还是要交给一个专业的人如IT部门,或者购买商业级别的ERP、CRM等系统,这些有保障的投入,对企业来讲反而是最省钱的。
对于专业用户,比如专门开发系统的工程师,Access功能相对弱鸡,且不稳定,他们不会用。
对于软件开发商比如微软来讲,卖软件不挣钱,卖服务才挣钱,Access反而是在阻碍企业用户购买其专业数据库。微软很乐意企业找它来定制一个ERP系统,定制一套ERP比得上卖多少套Access啊!所以相较于不断给Excel添加功能,微软一直在削弱Access的能力(比如微软取消了用户权限管理功能,比如微软不肯给SQL编辑器提供自动补全功能),Access陷入爹不疼娘不爱的境地。
总上,对普通用户、专业用户来讲Access要么太高要么太低,只是对于有能力折腾的高级用户、有认识到Excel缺陷的用户来讲,Access是太香了。