作為一個中文全網(wǎng)唯二的Access數(shù)據(jù)庫專職講師(另一個是上海的張志老師),我迄今為止居然沒有發(fā)過一篇關(guān)于Access數(shù)據(jù)庫比較完整地介紹類文章,實(shí)在是很不應(yīng)該。今天就彌補(bǔ)這個缺陷。
本篇文章專門服務(wù)于想學(xué)習(xí)Access數(shù)據(jù)庫入門知識的老鐵,介紹一些Access技術(shù)的背景知識,不想學(xué)習(xí)沒有興趣的不防滑走。
本文一共分為3個部分:
1.Access數(shù)據(jù)庫是什么
2.Access數(shù)據(jù)庫不同版本的區(qū)別
3.認(rèn)識Access數(shù)據(jù)庫的各個功能區(qū)
下面我逐一講解。
1.Access數(shù)據(jù)庫是什么?有什么用?
Access的功能定位十分的特別,它是專門給辦公人員使用的編程框架,你幾乎找不到能與它對標(biāo)的產(chǎn)品。辦公人員和編程語言,這二者其實(shí)在多數(shù)人眼里沒什么交集,因此Access是典型的非主流產(chǎn)品。
由于Access的非主流,導(dǎo)致圍繞著Access數(shù)據(jù)庫產(chǎn)生了各種爭論,這種爭論從Access誕生之日起就已經(jīng)開始了:無論是專業(yè)程序員、還是對計(jì)算機(jī)一竅不通的旁觀者,都對Access持負(fù)面態(tài)度。不夸張的說,絕大多數(shù)人對Access都表示了不屑甚至諷刺。這種現(xiàn)象實(shí)在是很讓人奇怪(至少我覺得奇怪)。
如果一個編程外行去搜索引擎搜索“Access數(shù)據(jù)庫有什么用”這個問題,他能找到的絕大部分答案,都會對他產(chǎn)生勸退的效果,比如:
“Access好古老啊,為什么不學(xué)MySQL?為什么不學(xué)Python?“
”微軟還沒取消Access?都已經(jīng)沒人用了?。 ?/span>
“專業(yè)程序員看不上,業(yè)余辦公人員用不到,Access不上不下很尷尬”
“99%的辦公場景就用不到Access,剩下1%去找專業(yè)數(shù)據(jù)庫了,誰會去學(xué)Access”
等等等等……
在我2017年開始做Access技術(shù)分享的時候,伴隨著各種對我的質(zhì)疑和嘲諷,我的技術(shù)分享體驗(yàn)一點(diǎn)都不好。我是在逆境中走到今天的。
隨便打開我教Access的各個自媒體賬號,在評論區(qū)都能看到各種對于Access數(shù)據(jù)庫的貶低和嘲諷。(有個程序員居然寫了將近1000字的評論,勸我的粉絲取關(guān)我)
寫1000字評論黑我的程序員老哥
勸退Access的評論,就從來都沒有停止過。其實(shí)我雖然不理解這種現(xiàn)象,但是也算見怪不怪:貶低一門技術(shù)的風(fēng)氣,在國內(nèi)的IT界和互聯(lián)網(wǎng)界相當(dāng)普遍,夸張的時候,連C語言都有人貶低,Access就更不算什么了。
這些勸退產(chǎn)生的直接后果就是:我從第一天做Access技術(shù)分享開始,就根本沒有指望用Access數(shù)據(jù)庫賺到錢。
但是我最終用Access數(shù)據(jù)庫賺到錢了嗎?
當(dāng)然賺到了,讓那個寫1000字評論挖苦我的程序員老哥失望了:在我的第一門Access課程剛剛上線的第一天就賺到了,而且學(xué)習(xí)的人源源不斷。現(xiàn)在每個月找我學(xué)習(xí)Access數(shù)據(jù)庫的人,少則上百,多則數(shù)百。
能賺到錢的理由很簡單,因?yàn)榈拇_如前文所說“99%的人遇到數(shù)據(jù)整理需求時候,不會找到Access”,于是剩下的1%的人,紛紛來找我學(xué)習(xí)Access(因?yàn)橐不緵]其他老師教)。大道至簡,事情就這么簡單。
但是僅憑一兩個講師拼命的普及Access知識,這門技術(shù)也不可能成為一個技術(shù)門類,也不可能落地生根。
IT技術(shù)就跟餐飲一樣,無論營銷多么花哨,最終還是要落實(shí)到飯菜的味道上,飯菜味道不好,營銷力度越大虧得越慘。編程技術(shù)也不例外,如果一門技術(shù)沒有應(yīng)用場景、滿足不了客戶的基本需求,那它一定會慢慢凋零直至消失。
但是反過來邏輯也成立,如果一門技術(shù)能夠解決問題,那么不管怎么唱衰,他仍然有生命力,仍然有人學(xué)(只是學(xué)習(xí)的人會少而已)。
Access的例子也恰恰能證明這一點(diǎn)。市面上對于Access的唱衰起到的是“負(fù)營銷”的勸退作用,但是這個行業(yè)仍然存在,微軟也沒有砍掉Access數(shù)據(jù)庫(讓不少國內(nèi)專業(yè)編程人士“扼腕嘆息”),這就恰恰說明了:Access數(shù)據(jù)庫具有一定的使用場景和特定的技術(shù)能力。對Access的需求是客觀存在的,需求不能算多,但是實(shí)實(shí)在在的有需求。
Access數(shù)據(jù)庫,不僅僅是數(shù)據(jù)庫三個字這么簡單,Access也不僅僅是Excel的升級,他還有一套強(qiáng)大的VBA編程組件,他的窗體就是一個開發(fā)界面,作為VB編程的分支,VBA在自媒體有多火,不用我作更多的介紹。因此拿Access跟SQLite、MySQL相比,其實(shí)很不合適,后者根本沒有編程的能力,只是單一的數(shù)據(jù)庫。
即便是以數(shù)據(jù)量級為維度來比較Access和別的數(shù)據(jù)庫,Access的能力也不弱,或者更確切一點(diǎn),性價比和學(xué)習(xí)成本,不弱于MySQL等專業(yè)數(shù)據(jù)庫。畢竟辦公人員需要處理的數(shù)據(jù)量級,并不都是億級的、千萬級的,并不都是需要分布式查詢和儲存的,更多的數(shù)據(jù)處理需求是百萬級,而這個數(shù)量級恰好是Access的最強(qiáng)能力范圍。
作為單機(jī)版桌面數(shù)據(jù)庫,Access的聯(lián)網(wǎng)能力是不足的,也不能作為數(shù)據(jù)后臺使用(官方手冊說可以,但我個人不推薦Access做網(wǎng)站數(shù)據(jù)庫)。這方面的能力它的確不如專業(yè)數(shù)據(jù)庫。但是它從設(shè)計(jì)之初,就不是用來完成專業(yè)數(shù)據(jù)庫的任務(wù)呀。用專業(yè)數(shù)據(jù)庫的性能貶低Access,顯得既業(yè)余又好笑。
至于火爆全網(wǎng),號稱“最簡單的Python語言”,跟Access也沒有可比性。Python應(yīng)該對照的是Visual Basic,或者是已經(jīng)內(nèi)嵌在Office組件里的Visual Basic for Applications,也就是鼎鼎大名的VBA。個人認(rèn)為,Python的性價比是不如VBA的。
比較了這么多,那么Access數(shù)據(jù)庫究竟是做什么用的呢?
我們不能忽視微軟對Access的定位:它是作為微軟Office大禮包的一部分(2022年我已經(jīng)在Office365個人版里看不到Access了,已經(jīng)被轉(zhuǎn)移到商業(yè)版里了),這就體現(xiàn)了微軟當(dāng)年產(chǎn)品經(jīng)理對于Access的定位,Access數(shù)據(jù)庫更多的是作為Excel的配套出現(xiàn)的,和Excel共同承擔(dān)數(shù)據(jù)儲存、清晰、分析、做報(bào)表的任務(wù)。二者具有很強(qiáng)的關(guān)聯(lián)性和互補(bǔ)性:
Access嚴(yán)謹(jǐn)、Excel靈活;Access需要管理思維、Excel特別簡單(上到九十九、下到剛會走都能鼓搗兩下),二者一直是以兄弟軟件出現(xiàn)在Office大禮包里的。如果微軟的產(chǎn)品經(jīng)理知道目前Excel火爆的不要不要的,而Access數(shù)據(jù)庫無人問津,相比也會感覺到十分驚訝。
而且我個人認(rèn)為:Access在Office里的作用和地位,其實(shí)是要高于Excel的,即便Excel應(yīng)用范圍廣、影響大,但是了解Access作用和使用原理的人,并不會輕視Access數(shù)據(jù)庫的巨大作用。
除此之外,由于Access的界面高度契合Visual Basic,Access也可以用來作為VB編程的平臺,用VBA來直接控制和管理數(shù)據(jù),并做一些小的桌面開發(fā)(缺點(diǎn)是不能生成EXE可執(zhí)行文件)。Access撐起了Office大禮包里最有價值的高級辦公開發(fā)功能,讓Office有了服務(wù)于初級程序員的實(shí)力。
關(guān)于Access的作用,就講到這里,我其實(shí)在2019年寫過很多關(guān)于Access具體功能的文章,也錄制過很多視頻,有興趣可以去翻閱一下。
2.Access數(shù)據(jù)庫不同版本的區(qū)別
講完了Access數(shù)據(jù)庫的作用,如果你對Access有興趣就請繼續(xù)往下看,沒興趣就直接劃走沒毛病。
開門見山,我建議有經(jīng)濟(jì)實(shí)力的,去官網(wǎng)下載一個正版的Office軟件,個人版的Office365,我現(xiàn)在不確定帶不帶Access數(shù)據(jù)庫,但是商業(yè)版是肯定帶的。如果要單買Access數(shù)據(jù)庫,價格應(yīng)該不到1000元。
官網(wǎng)上單獨(dú)購買Access數(shù)據(jù)庫的價格
目前Access數(shù)據(jù)庫已經(jīng)更新到了2021版,越新的版本,功能越穩(wěn)定越強(qiáng)大,這是肯定的。而且2021版本給了我?guī)讉€驚喜:首先是增加了一個靈活的圖表控件,速度很快,基本不吃內(nèi)存;第二是報(bào)表可以嵌進(jìn)窗體里,這個功能簡直太良心了,報(bào)表的計(jì)算能力和呈現(xiàn)力遠(yuǎn)超窗體。
有人說Access版本2007以后就很少更新,瞎說,Access2013、16、19每個版本都有很多改進(jìn),用戶體驗(yàn)越來越好。微軟公司給我感覺,沒有睡大覺,即便是對于Access這種小眾產(chǎn)品也是很用心在升級。
但是愿意付費(fèi)用辦公軟件的人,永遠(yuǎn)都是少數(shù)派。我那就大概講一下不同版本的Access功能有什么不同吧。
Access2003版略過。因?yàn)樗∥夷暧祝瑳]用過這么老的版本,沒用過就沒辦法寫用戶體驗(yàn)。
Access2007版。這個版本的Access數(shù)據(jù)庫優(yōu)點(diǎn)還是很多的:首先是07版是帶數(shù)據(jù)透視圖表功能(2010版以后的Access拿掉了數(shù)據(jù)圖表功能,有利有弊),這個功能我一度非常喜歡但很吃內(nèi)存,考驗(yàn)使用者的設(shè)計(jì)能力。第二個優(yōu)點(diǎn),2007版本的Office安裝包比較小巧,700M就能拿下。
但是Access2007版本也有一些缺點(diǎn):首先就是沒有附件功能。沒有附件功能就意味著不能輕松的保存照片。第二沒有計(jì)算字段功能,這個也限制了查詢的使用。第三,報(bào)表不能嵌入窗體,這個功能是2021版才有的。第四,圖表功能很差(我說的是窗體的圖表控件很差,不是說數(shù)據(jù)透視表)
總之,如果實(shí)在不想花錢,用2007版Access掌握入門知識沒有絲毫問題,我個人也很推薦0元購入門學(xué)習(xí)者用2007版。
再說一下2010版本。這個版本的優(yōu)點(diǎn)不突出,帶數(shù)據(jù)透視表,但缺點(diǎn)太明顯:特別的不穩(wěn)定,容易卡死,甚至還沒有2007版穩(wěn)定(2007功能少一些),不算是非常成熟的Access版本。我個人不建議用2010入門,但是如果你已經(jīng)安裝了Access2010,你也沒必要卸載2010版,用它入門也沒什么大的問題。Access各個版本的區(qū)別,還沒有大到很夸張的程度。
其余的版本2013、2016、2019,我一直在用也一直在跟著Office365升級。區(qū)別不是很大。
3.認(rèn)識Access數(shù)據(jù)庫的各個功能區(qū)
實(shí)話實(shí)說,Access數(shù)據(jù)庫入門不難,但是比起Excel,還是要難上一個臺階的。Access數(shù)據(jù)庫會給一個徹頭徹尾的編程外行,一點(diǎn)點(diǎn)恐懼感和壓迫感,尤其是他的界面很“不友好”。
創(chuàng)建第一個Access數(shù)據(jù)庫
其實(shí)大可不必有這種恐懼,我先帶大家速度過一遍Access的界面是什么樣子。我們先建立一個新的數(shù)據(jù)庫:
里面空空如也,啥都沒有,但是宇哥我那些花哨的演示視頻,可都是在這一片空白的基礎(chǔ)上搞起來的。很神奇吧。
大體來說,Access操作主界面分為四個部分:
1.控制欄,就是界面上方的部分,Excel也有這個控制欄;
2.導(dǎo)航欄,就是左面的導(dǎo)航部件,可以控制不同窗體、表、查詢、報(bào)表,用于提高界面轉(zhuǎn)換效率;
3.操作欄,就是數(shù)據(jù)庫的操作主體,Excel這部分就是密密麻麻的表格;
4.屬性欄,如果熟悉VB、PS等軟件的人,應(yīng)該很容易理解屬性欄的功能,它是用來對操作欄里的對象進(jìn)行各種操作用的。
Excel和Access相比,Excel只有控制欄和操作欄,缺了導(dǎo)航欄和屬性欄。因此Access比Excel的操作還是要復(fù)雜一些,要照顧方方面面的情況也要多一些。
本來想繼續(xù)講表、查詢、窗體、報(bào)表的基礎(chǔ)功能的,但是這又是一個十分龐大的話題了。容我休息兩天,下回書再講吧。
聯(lián)系客服