大家好,我是宇哥,副业专门教Access数据库的。目前也正在研究VB编程的落地场景。我从2017年11月开始免费分享Access技术,2019年6月开始卖Access数据库的付费课程,到今年(2022年)已经有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
等等等等……
在我2017年开始做Access技术分享的时候,伴随着各种对我的质疑和嘲讽,我的技术分享体验一点都不好。我是在逆境中走到今天的。
随便打开我教Access的各个自媒体账号,在评论区都能看到各种对于Access数据库的贬低和嘲讽。(有个程序员居然写了将近1000字的评论,劝我的粉丝取关我)
写1000字评论黑我的程序员老哥
劝退Access的评论,就从来都没有停止过。其实我虽然不理解这种现象,但是也算见怪不怪:贬低一门技术的风气,在国内的IT界和互联网界相当普遍,夸张的时候,连C语言都有人贬低,Access就更不算什么了。
这些劝退产生的直接后果就是:我从第一天做Access技术分享开始,就根本没有指望用Access数据库赚到钱。
但是我最终用Access数据库赚到钱了吗?
当然赚到了,让那个写1000字评论挖苦我的程序员老哥失望了:在我的第一门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应该对照的是Visual Basic,或者是已经内嵌在Office组件里的Visual Basic for Applications,也就是鼎鼎大名的VBA。个人认为,Python的性价比是不如VBA的。
比较了这么多,那么Access数据库究竟是做什么用的呢?
我们不能忽视微软对Access的定位:它是作为微软Office大礼包的一部分(2022年我已经在Office365个人版里看不到Access了,已经被转移到商业版里了),这就体现了微软当年产品经理对于Access的定位,Access数据库更多的是作为Excel的配套出现的,和Excel共同承担数据储存、清晰、分析、做报表的任务。二者具有很强的关联性和互补性:
Access严谨、Excel灵活;Access需要管理思维、Excel特别简单(上到九十九、下到刚会走都能鼓捣两下),二者一直是以兄弟软件出现在Office大礼包里的。如果微软的产品经理知道目前Excel火爆的不要不要的,而Access数据库无人问津,相比也会感觉到十分惊讶。
而且我个人认为:Access在Office里的作用和地位,其实是要高于Excel的,即便Excel应用范围广、影响大,但是了解Access作用和使用原理的人,并不会轻视Access数据库的巨大作用。
除此之外,由于Access的界面高度契合Visual Basic,Access也可以用来作为VB编程的平台,用VBA来直接控制和管理数据,并做一些小的桌面开发(缺点是不能生成EXE可执行文件)。Access撑起了Office大礼包里最有价值的高级办公开发功能,让Office有了服务于初级程序员的实力。
关于Access的作用,就讲到这里,我其实在2019年写过很多关于Access具体功能的文章,也录制过很多视频,有兴趣可以去翻阅一下。
2.Access数据库不同版本的区别
讲完了Access数据库的作用,如果你对Access有兴趣就请继续往下看,没兴趣就直接划走没毛病。
开门见山,我建议有经济实力的,去官网下载一个正版的Office软件,个人版的Office365,我现在不确定带不带Access数据库,但是商业版是肯定带的。如果要单买Access数据库,价格应该不到1000元。
官网上单独购买Access数据库的价格
目前Access数据库已经更新到了2021版,越新的版本,功能越稳定越强大,这是肯定的。而且2021版本给了我几个惊喜:首先是增加了一个灵活的图表控件,速度很快,基本不吃内存;第二是报表可以嵌进窗体里,这个功能简直太良心了,报表的计算能力和呈现力远超窗体。
有人说Access版本2007以后就很少更新,瞎说,Access2013、16、19每个版本都有很多改进,用户体验越来越好。微软公司给我感觉,没有睡大觉,即便是对于Access这种小众产品也是很用心在升级。
但是愿意付费用办公软件的人,永远都是少数派。我那就大概讲一下不同版本的Access功能有什么不同吧。
Access2003版略过。因为恕我年幼,没用过这么老的版本,没用过就没办法写用户体验。
Access2007版。这个版本的Access数据库优点还是很多的:首先是07版是带数据透视图表功能(2010版以后的Access拿掉了数据图表功能,有利有弊),这个功能我一度非常喜欢但很吃内存,考验使用者的设计能力。第二个优点,2007版本的Office安装包比较小巧,700M就能拿下。
但是Access2007版本也有一些缺点:首先就是没有附件功能。没有附件功能就意味着不能轻松的保存照片。第二没有计算字段功能,这个也限制了查询的使用。第三,报表不能嵌入窗体,这个功能是2021版才有的。第四,图表功能很差(我说的是窗体的图表控件很差,不是说数据透视表)
总之,如果实在不想花钱,用2007版Access掌握入门知识没有丝毫问题,我个人也很推荐0元购入门学习者用2007版。
再说一下2010版本。这个版本的优点不突出,带数据透视表,但缺点太明显:特别的不稳定,容易卡死,甚至还没有2007版稳定(2007功能少一些),不算是非常成熟的Access版本。我个人不建议用2010入门,但是如果你已经安装了Access2010,你也没必要卸载2010版,用它入门也没什么大的问题。Access各个版本的区别,还没有大到很夸张的程度。
其余的版本2013、2016、2019,我一直在用也一直在跟着Office365升级。区别不是很大。
3.认识Access数据库的各个功能区
实话实说,Access数据库入门不难,但是比起Excel,还是要难上一个台阶的。Access数据库会给一个彻头彻尾的编程外行,一点点恐惧感和压迫感,尤其是他的界面很不友好。
创建第一个Access数据库
其实大可不必有这种恐惧,我先带大家速度过一遍Access的界面是什么样子。我们先建立一个新的数据库:
里面空空如也,啥都没有,但是宇哥我那些花哨的演示视频,可都是在这一片空白的基础上搞起来的。很神奇吧。
大体来说,Access操作主界面分为四个部分:
1.控制栏,就是界面上方的部分,Excel也有这个控制栏;
2.导航栏,就是左面的导航部件,可以控制不同窗体、表、查询、报表,用于提高界面转换效率;
3.操作栏,就是数据库的操作主体,Excel这部分就是密密麻麻的表格;
4.属性栏,如果熟悉VB、PS等软件的人,应该很容易理解属性栏的功能,它是用来对操作栏里的对象进行各种操作用的。
Excel和Access相比,Excel只有控制栏和操作栏,缺了导航栏和属性栏。因此Access比Excel的操作还是要复杂一些,要照顾方方面面的情况也要多一些。
本来想继续讲表、查询、窗体、报表的基础功能的,但是这又是一个十分庞大的话题了。容我休息两天,下回书再讲吧。
主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网