任務:打造個人圖書管理系統
任務描述:本文目的是通過Access建立一個個人圖書管理系統(可包含音樂CD、數據光盤等電子書),幫助我們管理好每一本圖書。這個數據庫可以記錄每本書的基本資料,能隨時增加或刪改圖書記錄,還可以按照不同條件快速查找個人藏書的各種信息。如果同學、朋友之間都能建立起這樣一個數據庫,將數據庫合並後,俨然就是一個小型圖書館,通過查詢可以看看自己需要的圖書是否有人買了,如果有的話則可以借閱一下,不必再重復投資。
注:本例使用的是Access 2003版,其他版本操作步驟大同小異。
給數據搭建一個“庫房”
首先要建立一個空的“庫房”(數據庫),然後才好往裡面裝入數據。
第一步:啟動Access 2003,單擊菜單命令“文件→新建”(或單擊工具欄上第一個“新建”按鈕),在右側“新建文件”窗格中單擊“空數據庫”項。
第二步:在打開的新建對話框中設置好文件名及保存路徑,本例命名為“個人圖書管理”,接著單擊“創建”按鈕(見圖1),一個新的數據庫就創建好了。
用“表”規劃與存儲數據
房子建好了還需要裝修一下,才能達到更好的居住效果,數據庫也一樣,建好了也得好好規劃一下,以便保存不同類型的數據。在Access中,“表”是規劃數據庫的核心,其主要作用是按照一定結構保存所有數據,其他如查詢、報表等操作都需在此基礎上才能完成。
第一步:首先規劃一下表結構。圖書信息有很多,本例僅僅是一個演示,因此本例創建的圖書基本信息數據表只設置了序號、書名、作者、出版社、購買日期、定價、圖書類別、介質和內容簡介等幾個字段。
第二步:如圖2所示,單擊數據庫主窗口左側“對象”下的“表”按鈕,接著雙擊右側的“使用設計器創建表”項打開設計視圖窗口,在“字段名稱”的單元格中輸入字段名,單擊其右側的“數據類型”單元格,從下拉列表中為每個字段設置一種類型。本例中,序號選“自動編號”,購買日期選“日期/時間”,定價選“貨幣”,內容簡介選“備注”,其他都選擇的是“文本”。可以在窗口下面的字段屬性中對數據類型進行具體的設置,比如“文本”數據類型的默認長度是50個字符,遇到長書名時就不夠用了,所以可在其常規項中將“字段大小”改為255,而像作者名,20個字符肯定夠了。
第三步:設置好所有字段及數據類型後,數據表框架就算完成了。Access建議每個數據表都要設置一個主鍵字段,這樣才能定義與數據庫中其他表間的關系。用鼠標在“序號”單元格中點擊一下,然後再單擊工具欄上的鑰匙圖標,就可以把此字段設置為主鍵了。按Ctrl+S快捷鍵保存一下,第一次保存數據表將會彈出一個另存對話框,輸入數據表名稱(本例為“圖書基本信息”)後確定即可。
序號字段選擇的是自動編號類型,這裡不用手工輸入,軟件會自動按順序填寫數字的;購買日期字段選擇的是日期/時間類型,比如輸入“04/10/2”或“04-10-02”,它都會自動轉換成標准格式“2004-10-2”;定價字段選擇的是貨幣類型,輸入數字回車確定後,會自動加上符號“¥”(見圖3)。
小提示
文本與備注類型,都是用來保存字符信息的,不過文本類型最多能保存255個字符,而備注類型最多達到6萬多字符,大家可根據字段的屬性進行選擇。
第五步:圖書的類別,各人可根據自己的實際情況劃分,比如筆者將自己的所有圖書大致歸為計算機、文學、藝術、英語、飲食、哲學、歷史、娛樂休閒、其他共九大類。對於這些項目有限的數據,可以將其制作成列表,輸入時只要用鼠標選一下就可以了。
(1)雙擊“使用設計器創建表”創建一個新的數據表,命名為“分類”,只設置一個字段:類別名稱。保存時會提示你設置主鍵,單擊“否”不設置。關掉設計視圖,雙擊打開該數據表,如圖4所示分別輸入圖書的類別。
(2)在數據庫主窗口右側點選“圖書基本信息”表,再單擊“設計”按鈕進入設計視圖窗口。點擊該表中“圖書類別”字段,然後點擊字段屬性下面的“查閱”選項卡,點擊“顯示控件”後面的輸入框,在下拉列表中選擇“組合框”,然後將“行來源類型”設置為“表/查詢”,再點擊“行來源”後面的輸入框,從下拉列表中選擇剛才建立的“分類”表。
(3)按Ctrl+S鍵保存,再單擊數據庫主窗口上的“打開”按鈕進入數據表視圖窗口,此時再點擊“圖書類別”字段,會顯示一個下拉按鈕,單擊它彈出列表,點選相應的圖書類型就可以了,非常方便(見圖5)。以同樣方法還可以為其他字段設置下拉列表,比如介質可設置為“紙質”、“CD”、“硬盤”項,創建一個名為“介質”的新表,再按上面的方法把它與“圖書基本信息”表中的“介質”字段綁定就可以了。
用窗體給數據穿上漂亮的外衣
當需要輸入的數據量很大時,在表格中輸入既不方便也容易出錯。這時可借助Access的窗體功能,使數據輸入更為直觀、方便。
第一步:在數據庫主窗口左側單擊“窗體”按鈕,然後在右側雙擊“使用向導創建窗體”打開向導窗口(見圖6)。在“表/查詢”下拉列表中選中“表:圖書基本信息”,然後單擊中間的“>>”按鈕將“可用字段”中的所有字段都加到“選定的字段”中。
第二步:單擊“下一步”,接下來的窗口用來設置窗體的排列方式,這裡就選擇“縱欄表”。再單擊“下一步”,選擇窗體的顯示樣式,筆者覺得“混合”樣式比較好看,所以選擇了該項。繼續單擊“下一步”,為窗體指定一個標題,這裡用默認的“圖書基本信息”就可以了。最後單擊“完成”按鈕,結束窗體的創建。
第三步:默認情況下創建完成後窗體即會自動打開,就可以輸入數據了。也可以在數據庫主窗口的“窗體”項中,雙擊剛才建立的窗體打開它。如圖7所示,在這樣的界面中輸入數據是不是方便了很多。按Tab鍵、回車鍵、上下左右箭頭鍵可以在各個輸入框中快速切換。輸入完一條記錄後,會自動進入下一條記錄,也可以通過它下面的多個導航按鈕在所有的圖書記錄中進行浏覽、修改。
查詢:獲得問題的答案
數據庫的特長就在於它的快速檢索功能,在Access中通過設置條件,可以快速查找出符合要求的圖書記錄,比如2003至2004年買過什麼書,30到40元之間的都有哪些書,某個出版社或某位特定作者的書等。下面以找出藏書中所有英語類的圖書為例,一窺Access強大的查詢功能。
第一步:在數據庫主窗口左側單擊“查詢”,在右側雙擊“在設計視圖中創建查詢”項。將會顯示查詢設計視圖窗口,並且會彈出一個“顯示表”對話框。點選前面創建的“圖書基本信息”表後單擊“添加”按鈕將其加到查詢設計視圖中,最後單擊“關閉”按鈕退出“顯示表”對話框
第二步:如圖8所示,單擊“表”行的單元格,從下拉菜單中選擇前面創建的“圖書基本信息”表,然後單擊其上的“字段”行單元格,選擇該表中的“書名”字段,確保“顯示”行的復選框為選中狀態,表示這個字段在最終的查詢結果中將顯示出來。以同樣的方法添加其他想要顯示的字段,最後再加上“圖書類別”字段,取消其“顯示”行中復選框的選擇(最終查詢結果將不顯示該字段),並在“條件”行輸入關鍵詞”英語”(英文雙引號),表示篩選出該字段值為“英語”的所有記錄。
第三步:按Ctrl+S鍵保存,第一次保存會彈出“另存為”對話框,輸入查詢名稱(如“英語書”)後確定。關掉查詢設計視圖窗口,會發現查詢列表中多出了“英語書”一項,雙擊它就會驚奇地發現,數據庫中圖書類別為“英語”的圖書記錄都顯示出來,並且每個記錄只顯示出我們所關心的那幾個字段。
以後你在數據表中追加更多的記錄時,隨時雙擊剛才所創建的查詢“英語書”,它都能找出所有英語類別的書來。當然,查詢只是對數據表中的數據進行重組而已,它本身並不會改變表中的數字。
第四步:如果你覺得查詢結果顯示太老土,可以用窗體的形式來顯示結果,制作方法與前面的一樣,只是在“表/查詢”下拉列表中一定要選中“查詢:英語書”項。
本文只是一個簡單的實例,主要是為了打破你對Access的陌生感,其實有很多功能我們都沒有涉及到,比如打印報表、生成網頁數據庫以及使用VBA編程實現更多更復雜的功能等。以後有機會,我們會介紹更多Access方面的有用實例。