序言
讀者們好!《表哥的Access 入門:以Excel 視角快速學習數(shù)據(jù)庫開發(fā)》(第2 版)終于與大家見面了。本書第1 版早是以電子版的形式發(fā)布在網(wǎng)絡(luò)平臺上的,在收到大量的讀者好評后改寫出版了紙質(zhì)版。在紙質(zhì)版圖書出版后,同樣受到讀者的熱烈歡迎,僅第1 版就重印了近20 次,著實讓筆者受寵若驚,感覺有責任對本書的第1 版做一些優(yōu)化和內(nèi)容上的擴充,用于回饋讀者的厚愛。
本書除了在第1 版的基礎(chǔ)上更新了所有配圖以適應(yīng)Access 版本,還增加了如下內(nèi)容:
- Access 交叉表查詢、生成表查詢、追加查詢的講解。
- Access 中的AutoExec 自動執(zhí)行宏的重要應(yīng)用。
- 如何以Access 可視化查詢?yōu)檩o助工具快速入門SQL。
本書保留了第1 版通俗易懂、一氣呵成的特色,在內(nèi)容上更完善,并且力爭讓讀者在不對照電腦操作的情況下也能輕松閱讀。本書的目標是大幅減輕讀者的學習負擔,讓讀者輕松、快速地掌握Access 的相關(guān)知識與技能,幫助讀者構(gòu)建全新的數(shù)據(jù)觀。畢竟,Excel 的高級應(yīng)用階段離不開數(shù)據(jù)庫知識。
祝廣大讀者學習愉快!問題交流請關(guān)注筆者微博@MrExcel。
作 者
前言
為什么要學習數(shù)據(jù)庫知識?
當你在商場或超市結(jié)賬時,是否注意過收銀員面前顯示器上的軟件?收銀員利用這個軟件,結(jié)合掃描設(shè)備,就可以完成掃描商品、記錄銷售金額、扣減庫存、查看歷史記錄、退貨、換貨等操作,我們可以將這個軟件稱為一個賣貨的軟件,用專業(yè)一點兒的術(shù)語來說,這其實
是一個典型的商品進銷存軟件。
你可能會想:商品進銷存軟件,如此高大上的名字,不是只有在企業(yè)中才用的嗎?它與我們的生活有什么關(guān)系?是的,商品進銷存軟件確實是企業(yè)中常用的軟件之一,但其實我們的生活時時刻刻都離不開類似的軟件。
商品進銷存軟件本質(zhì)上屬于數(shù)據(jù)記錄和處理軟件,在人工智能技術(shù)廣泛應(yīng)用的今天,智能設(shè)備無時無刻不在記錄和處理著與你有關(guān)的數(shù)據(jù),很多時候你甚至意識不到。
在數(shù)據(jù)庫無處不在、數(shù)據(jù)思維無處不在的今天,不主動了解一點數(shù)據(jù)庫知識,真的有點OUT了。特別是對于已經(jīng)熟悉Excel 的我們來說,學習點兒數(shù)據(jù)庫知識,不僅可以幫助我們深刻理解這個數(shù)字時代的世界,還可以提高我們的工作效率,從而構(gòu)建全新的數(shù)據(jù)觀。
為什么要學習Access ?
回到前面超市收銀臺的場景,利用Microsoft Office 中的Access 也能制作出具有類似功能的軟件,并且?guī)缀醪挥镁帉懘a,即可讓Office用戶過把軟件設(shè)計的癮。
Access 作為Microsoft Office 組件之一,在眾多領(lǐng)域中發(fā)揮著作用:利用Access 可以構(gòu)建中小型企業(yè)的生產(chǎn)、計劃、庫存、銷售、人事管理、培訓(xùn)等數(shù)據(jù)庫管理系統(tǒng),可以開發(fā)大公司的部門級應(yīng)用,等等。不僅如此,Access 還是一款極具效力的個人工作效率提升工具,在很多Excel 難以施展能力的場所,Access 能輕松應(yīng)對。
提到數(shù)據(jù)庫,有些人(特別是對數(shù)據(jù)庫一知半解的人)動不動就拿Oracle、SQL Server 等大型數(shù)據(jù)庫系統(tǒng)說事兒。筆者在這里告訴大家,如果你想學習數(shù)據(jù)庫知識,Access 是一款優(yōu)秀的入門工具,原因很簡單,Access 具有易獲得性、易安裝性及普及性。Access 作為一款易學、易用、功能靈活的小型桌面數(shù)據(jù)庫管理系統(tǒng),其能力主要體現(xiàn)在以下兩
方面。
1.簡單的操作,強大的功能
Access 具有強大的可視化操作能力,這一點在所有的數(shù)據(jù)庫管理系統(tǒng)中是領(lǐng)先的。Access 讓人印象尤其深刻的是其查詢、窗體、報表及宏的可視化設(shè)計方式,它讓用戶無須編寫代碼,就能開發(fā)數(shù)據(jù)庫應(yīng)用程序。
由于本書的目標是使Excel 用戶快速入門Access 數(shù)據(jù)庫知識,因此很多地方會以Excel 為Access 的參照物進行對比。我們知道,同為Office 組件之一的Excel 具有靈活的數(shù)據(jù)處理和分析能力,然而其能力是有局限的。例如,對數(shù)據(jù)的規(guī)范化存儲與管理、表間的同步修改及刪除、無代碼應(yīng)用程序的開發(fā)等功能,如果使用Excel 實現(xiàn),則會非常麻煩,甚至無能為力;如果使用Access 實現(xiàn),則可以以其內(nèi)置功能輕松完成。
利用Access 中強大的查詢功能,可以非常容易地進行各類統(tǒng)計分析操作,并且可以方便地組合多個相關(guān)的數(shù)據(jù)表,從而實現(xiàn)靈活的表間操作。此外,在處理數(shù)據(jù)的數(shù)量方面,與Excel 相比,Access 在分析處理幾十萬、上百萬行數(shù)據(jù)時,速度優(yōu)勢相當明顯,能夠大幅提升工作效率。在數(shù)據(jù)處理自動化方面,如果使用Excel,那么通常需要編寫復(fù)雜的VBA 程序代碼來實現(xiàn);如果使用Access,那么利用其自帶的宏功能,我們幾乎可以拋棄VBA,簡單地以拖曳鼠標的方式,就像拼七巧板一樣,將Access 中的基礎(chǔ)操作按照自定義的順序排列起來,形成連續(xù)、定制化的業(yè)務(wù)邏輯,從而輕松實現(xiàn)數(shù)據(jù)業(yè)務(wù)的自動化操作,這樣不但顯著提升了數(shù)據(jù)庫應(yīng)用程序的開發(fā)效率,還大大降低了用戶的學習難度。
2.使用Access 可以開發(fā)軟件
對沒有接受過編程訓(xùn)練的人來說,學習編程不亞于學習火星文,而Access改變了這一切,讓我們可以輕松開發(fā)出實用的數(shù)據(jù)庫應(yīng)用程序。使用Access 可以開發(fā)各種數(shù)據(jù)庫應(yīng)用程序,如生產(chǎn)管理、銷售管理、庫存管理等企業(yè)管理軟件。利用Access,我們可以輕松地建立數(shù)之間的關(guān)系,在不編寫代碼的情況下模擬真實商業(yè)活動的業(yè)務(wù)邏輯,從而設(shè)計出功能完善的軟件界面。此外,我們可以通過Access 的報表功能,設(shè)計出滿足用戶需求的各種格式的單據(jù)報表。通過對本書內(nèi)容的學習,你會發(fā)現(xiàn),Access 作為一款開發(fā)數(shù)據(jù)庫應(yīng)用程序的傻瓜軟件,即使是非計算機專業(yè)人員,也能快速掌握。
Access 軟件滿足了企業(yè)管理人員的需求,使其無須學習編程語言,就能開發(fā)出實現(xiàn)自己管理思想的軟件,并且使其能夠借助軟件來規(guī)范企業(yè)的業(yè)務(wù)規(guī)則,推行其管理理念。Access 可以幫助非計算機專業(yè)的管理人員實現(xiàn)開發(fā)軟件的夢想,使其成長為懂管理、會編程的復(fù)合
型人才。
很多管理人員有絕妙的想法和創(chuàng)意,他們也能夠很清晰地將這些想法和創(chuàng)意以圖文形式表達出來,但由于這些想法和創(chuàng)意需要一些計算機技能來實現(xiàn),因此束手無策,或者不得不求助永遠很忙的信息技術(shù)(IT)部門的支援,以至于好的想法和創(chuàng)意長時間無法變?yōu)楝F(xiàn)實。如果他們能夠花一些時間,學習一些Access 知識,自己編寫一個體現(xiàn)自己獨特管理思想的軟件,將這些想法和創(chuàng)意變成現(xiàn)實,豈不快哉!
Access 和Excel 對比,有什么優(yōu)勢?
讀到這里,你可能會產(chǎn)生這樣的疑問:Access 的功能如此強大,為什么用戶普及率遠遠不如Excel 呢?筆者認為,造成這種現(xiàn)狀的主要原因有以下兩點。
1.自由軟件與強規(guī)則軟件
與Access 對用戶的要求相比,Excel 幾乎是一款自由軟件,Excel 界面對用戶的操作行為幾乎沒有任何約束,用戶可以在Excel 的單元格中輸入任何內(nèi)容,包括文本、數(shù)字、日期等,甚至可以在Excel單元格中輸入幾千字的文章。
Access 是一款強規(guī)則軟件,用戶在使用Access 前,必須預(yù)先了解Access 中必須遵守的一些規(guī)則。在Access 數(shù)據(jù)表中,如果規(guī)定了在某一列中只能輸入日期,那么該列不會接收其他類型的數(shù)據(jù),如果強行輸入,那么Access 會以報錯的方式拒絕接收。如果規(guī)定
Access 數(shù)據(jù)表中的某一列中不能有重復(fù)內(nèi)容出現(xiàn),那么在該列中不能輸入重復(fù)內(nèi)容。
民間有句俗話,叫作沒有規(guī)矩,不成方圓,正是Access 中的各種規(guī)則,避免了數(shù)據(jù)處理活動中各種意外的發(fā)生。要知道,在Excel 中,由于用戶組織數(shù)據(jù)不規(guī)范,造成Excel 報告難以理解、難以維護、難以擴展的例子比比皆是。因此,用自律才能自由這句話描
述Access 簡直再合適不過了。
2.當前的Access 培訓(xùn)存在問題
如果你恰巧在書店翻閱本書,那么,請你隨手翻閱幾本其他關(guān)于Access 的書籍,你會發(fā)現(xiàn),這些書籍基本遵循一個套路,那就是如何創(chuàng)建數(shù)據(jù)表、創(chuàng)建查詢、設(shè)計窗體和制作報表。
這個套路本身沒有錯誤,然而,大部分Access 培訓(xùn)資料只讓讀者
知其然,而不知其所以然;只介紹Access 的操作,卻不介紹這些操作背后隱藏的邏輯。按照這種教材學習,充其量只能成為Access的操作工,很難成為Access 數(shù)據(jù)庫應(yīng)用程序的設(shè)計者。
當前的Access 培訓(xùn)機構(gòu)基本也存在同樣的問題,很多培訓(xùn)師只是按照培訓(xùn)資料上的操作步驟,告訴學員先進行什么操作,后進行什么操作,一個界面控件的排列介紹幾十分鐘,將Access 的核心內(nèi)容淹沒在瑣碎的操作細節(jié)中,讓學員感到茫然,難以抓住培訓(xùn)的重點。
本書特點
本書會竭力避免當前Access 書籍和培訓(xùn)中普遍存在的問題,以案例教學的方式,通過一個簡單的小飯館數(shù)據(jù)庫管理軟件的開發(fā)案例,介紹如何規(guī)范Access 數(shù)據(jù)、創(chuàng)建查詢和設(shè)計窗體,以及如何制作Access報表和宏。本書不僅會介紹Access 的操作,而且會詳細介紹這些操作背后隱含的Access 數(shù)據(jù)庫的相關(guān)知識,讓讀者不但知其然,還知其所以然。
Access 作為一款流行的小型數(shù)據(jù)庫管理系統(tǒng),與其他數(shù)據(jù)庫管理系統(tǒng)相比,具有易學、易用的特點,在很大程度上避免了對用戶的編程要求。但是有得必有失,Access 為了保持其開發(fā)的靈活性,在開發(fā)過程中會涉及各種各樣的設(shè)置選項,介紹Access 中全部選項的設(shè)置方法和設(shè)置效果是龐雜且無趣的。所以,本書以一個小飯館數(shù)據(jù)庫管理軟件為例,從頭到尾介紹整個軟件的設(shè)計過程。在設(shè)計過程中,我們只對案例中用到的設(shè)置選項進行詳細介紹,從而避免打斷思路、分散注意力,并且減輕學習負擔。
本書不是一本大而全的Access 書籍,而是一本以案例為導(dǎo)向,幫助讀者快速了解Access 功能、理解數(shù)據(jù)庫思維,指導(dǎo)讀者開發(fā)一個小型數(shù)據(jù)庫管理軟件的案例手冊。
因為本書假設(shè)讀者對Excel 已經(jīng)有了一定程度的了解或使用經(jīng)驗,所以沒有像大部分Access 書籍那樣,一開始就引入大量的數(shù)據(jù)庫專業(yè)術(shù)語,而是以讀者的Excel 知識為基礎(chǔ),逐步過渡到Access 相關(guān)知識,讓讀者感覺自己不是在學習一門全新的技術(shù),而是將已掌握的Excel 技術(shù)自然擴展到Access 技術(shù),從而減輕讀者的學習負擔。
本書適合對Excel 比較熟悉,并且想進一步利用Access 技術(shù)提升個人能力的Microsoft Office 技術(shù)愛好者,以及想進一步利用Access 技術(shù)提高個人及本部門工作效率的職場人士閱讀。此外,對于已經(jīng)讀過一些Access 操作手冊,但對Access 還沒有建立一個清晰邏輯的Access 初學者,本書也非常適用。
后,我們打個比方,如果說學習Excel 是學習一項技能,那么學習Access 是學習一項真正的技術(shù)。如果你已經(jīng)掌握了Excel,那么,學習一些Access 知識會幫助你建立全新的數(shù)據(jù)觀,讓你的數(shù)據(jù)分析和處理能力有質(zhì)的飛越。
作 者
目錄
第1 章 小飯館也要信息化. 1
1.1 小飯館里的數(shù)據(jù)3
1.2 規(guī)范的數(shù)據(jù)才有價值5
第2 章 數(shù)據(jù)規(guī)范化8
2.1 拆分數(shù)據(jù)表10
2.2 對小張的建議.14
第3 章 Excel 的故事17
3.1 Excel 后的演出.19
3.2 Excel 搞不定23
第4 章 Access 登場26
4.1 為什么是Access.28
4.2 從Excel 到Access 29
4.3 重新組裝數(shù)據(jù)36
4.4 Access 簡單查詢57
4.5 Access 表間聯(lián)接..70
4.6 Access 高級查詢..77
4.7 Access 實體數(shù)據(jù)表的設(shè)計..86
4.8 根據(jù)時間做決策 .. 91
4.9 Access 交叉表查詢 . 100
4.10 Access 系統(tǒng)界面設(shè)計 ..105
4.11 讓用戶操作更方便.120
4.12 數(shù)據(jù)的添加、修改和刪除125
第5 章 關(guān)系型數(shù)據(jù)庫. 133
5.1 數(shù)據(jù)表之間的原生關(guān)系.135
5.2 Access 的核心 . 146
第6 章 設(shè)計報表.. 148
6.1 創(chuàng)建報表..150
6.2 制作打印按鈕 ..164
第7 章 按鈕背后的故事171
7.1 不寫代碼也能編程 ...173
7.2 導(dǎo)出Excel 格式的報告 ...177
7.3 那些隱藏的宏操作184
第8 章 Access 與工作自動化... 191
8.1 追加查詢與生成表查詢 ...193
8.2 自動存檔的Access 宏..203
8.3 睡著懶覺就把活兒干了212
第9 章 Access 與SQL 查詢220
9.1 什么是SQL..222
9.2 SELECT…FROM ...226
9.3 GROUP BY ...234
9.4 HAVING..239
結(jié)束語242