大家好,我是宇哥,副业专门教Access数据库的。目前也正在研究VB编程的落地场景。我从年11月开始免费分享Access技术,年6月开始卖Access数据库的付费课程,到今年(年)已经有5个年头了。
作为一个中文全网唯二的Access数据库专职讲师(另一个是上海的张志老师),我迄今为止居然没有发过一篇关于Access数据库比较完整地介绍类文章,实在是很不应该。今天就弥补这个缺陷。
本篇文章专门服务于想学习Access数据库入门知识的老铁,介绍一些Access技术的背景知识,不想学习没有兴趣的不防滑走。
本文一共分为3个部分:
1.Access数据库是什么
2.Access数据库不同版本的区别
3.认识Access数据库的各个功能区
下面我逐一讲解。
1.Access数据库是什么?有什么用?
Access的功能定位十分的特别,它是专门给办公人员使用的编程框架,你几乎找不到能与它对标的产品。办公人员和编程语言,这二者其实在多数人眼里没什么交集,因此Access是典型的非主流产品。
由于Access的非主流,导致围绕着Access数据库产生了各种争论,这种争论从Access诞生之日起就已经开始了:无论是专业程序员、还是对计算机一窍不通的旁观者,都对Access持负面态度。不夸张的说,绝大多数人对Access都表示了不屑甚至讽刺。这种现象实在是很让人奇怪(至少我觉得奇怪)。
如果一个编程外行去搜索引擎搜索“Access数据库有什么用”这个问题,他能找到的绝大部分答案,都会对他产生劝退的效果,比如:
“Access好古老啊,为什么不学MySQL?为什么不学Python?“
”微软还没取消Access?都已经没人用了啊!“
“专业程序员看不上,业余办公人员用不到,Access不上不下很尴尬”
“99%的办公场景就用不到Access,剩下1%去找专业数据库了,谁会去学Access”
等等等等……
在我年开始做Access技术分享的时候,伴随着各种对我的质疑和嘲讽,我的技术分享体验一点都不好。我是在逆境中走到今天的。
随便打开我教Access的各个自媒体账号,在评论区都能看到各种对于Access数据库的贬低和嘲讽。(有个程序员居然写了将近字的评论,劝我的粉丝取关我)
发字评论,劝粉丝取关我的老哥劝退Access的评论,就从来都没有停止过。其实我虽然不理解这种现象,但是也算见怪不怪:贬低一门技术的风气,在国内的IT界和互联网界相当普遍,夸张的时候,连C语言都有人贬低,Access就更不算什么了。
这些劝退产生的直接后果就是:我从第一天做Access技术分享开始,就根本没有指望用Access数据库赚到钱。
但是我最终用Access数据库赚到钱了吗?
当然赚到了,让那个写字评论挖苦我的程序员老哥失望了:在我的第一门Access课程刚刚上线的第一天就赚到了,而且学习的人源源不断。现在每个月找我学习Access数据库的人,少则上百,多则数百。
能赚到钱的理由很简单,因为的确如前文所说“99%的人遇到数据整理需求时候,不会找到Access”,于是剩下的1%的人,纷纷来找我学习Access(因为也基本没其他老师教)。大道至简,事情就这么简单。
但是仅凭一两个讲师拼命的普及Access知识,这门技术也不可能成为一个技术门类,也不可能落地生根。
IT技术就跟餐饮一样,无论营销多么花哨,最终还是要落实到饭菜的味道上,饭菜味道不好,营销力度越大亏得越惨。编程技术也不例外,如果一门技术没有应用场景、满足不了客户的基本需求,那它一定会慢慢凋零直至消失。
但是反过来逻辑也成立,如果一门技术能够解决问题,那么不管怎么唱衰,他仍然有生命力,仍然有人学(只是学习的人会少而已)。
Access的例子也恰恰能证明这一点。市面上对于Access的唱衰起到的是“负营销”的劝退作用,但是这个行业仍然存在,微软也没有砍掉Access数据库(让不少国内专业编程人士“扼腕叹息”),这就恰恰说明了:Access数据库具有一定的使用场景和特定的技术能力。对Access的需求是客观存在的,需求不能算多,但是实实在在的有需求。
Access数据库,不仅仅是数据库三个字这么简单,Access也不仅仅是Excel的升级,他还有一套强大的VBA编程组件,他的窗体就是一个开发界面,作为VB编程的分支,VBA在自媒体有多火,不用我作更多的介绍。因此拿Access跟SQLite、MySQL相比,其实很不合适,后者根本没有编程的能力,只是单一的数据库。
即便是以数据量级为维度来比较Access和别的数据库,Access的能力也不弱,或者更确切一点,性价比和学习成本,不弱于MySQL等专业数据库。毕竟办公人员需要处理的数据量级,并不都是亿级的、千万级的,并不都是需要分布式查询和储存的,更多的数据处理需求是百万级,而这个数量级恰好是Access的最强能力范围。
作为单机版桌面数据库,Access的联网能力是不足的,也不能作为数据后台使用(官方手册说可以,但我个人不推荐Access做网站数据库)。这方面的能力它的确不如专业数据库。但是它从设计之初,就不是用来完成专业数据库的任务呀。用专业数据库的性能贬低Access,显得既业余又好笑。
至于火爆全网,号称“最简单的Python语言”,跟Access也没有可比性。Python应该对照的是VisualBasic,或者是已经内嵌在Office组件里的VisualBasicforApplications,也就是鼎鼎大名的VBA。个人认为,Python的性价比是不如VBA的。
比较了这么多,那么Access数据库究竟是做什么用的呢?
我们不能忽视微软对Access的定位:它是作为微软Office大礼包的一部分(年我已经在Office个人版里看不到Access了,已经被转移到商业版里了),这就体现了微软当年产品经理对于Access的定位,Access数据库更多的是作为Excel的配套出现的,和Excel共同承担数据储存、清晰、分析、做报表的任务。二者具有很强的关联性和互补性:
Access严谨、Excel灵活;Access需要管理思维、Excel特别简单(上到九十九、下到刚会走都能鼓捣两下),二者一直是以兄弟软件出现在Office大礼包里的。如果微软的产品经理知道目前Excel火爆的不要不要的,而Access数据库无人问津,相比也会感觉到十分惊讶。
而且我个人认为:Access在Office里的作用和地位,其实是要高于Excel的,即便Excel应用范围广、影响大,但是了解Access作用和使用原理的人,并不会轻视Access数据库的巨大作用。
除此之外,由于Access的界面高度契合VisualBasic,Access也可以用来作为VB编程的平台,用VBA来直接控制和管理数据,并做一些小的桌面开发(缺点是不能生成EXE可执行文件)。Access撑起了Office大礼包里最有价值的高级办公开发功能,让Office有了服务于初级程序员的实力。
关于Access的作用,就讲到这里,我其实在年写过很多关于Access具体功能的文章,也录制过很多视频,有兴趣可以去翻阅一下。
2.Access数据库不同版本的区别
讲完了Access数据库的作用,如果你对Access有兴趣就请继续往下看,没兴趣就直接划走没毛病。
开门见山,我建议有经济实力的,去