Access是微軟 Office 系列中的一套資料庫管理軟體,被廣泛地應用於查詢服務系統上,例如圖書目錄、錄影帶出租或人事資料查閱等。相較於傳統的資料庫設計軟體,Access提供圖形介面的操作與精靈引導的設計,利用物件連結(OLE)的功能,使得多媒體物件(如影像與聲音)能與文字資料相結合。資料庫可分成三個層次,第一個層次是學習如何操作資料庫系統,如新增、刪除、修改與查詢等。第二個層次是學習設計一個資料庫系統,其中包括問題需求的分析與架構出系統的組織等。第三個層次是學習管理資料庫系統,如設定使用密碼與權限,及資料備份與維修。下面將介紹資料庫的基本觀念、操作及設計。
在日常生活中資料的處理隨處可見,例如整理一份親朋好友的聯絡資料、公司的客戶資料、產品甚至交易的資料,若在學校就必須登記學生基本資料、選修課情形與學業成績。當這些資料累積過多時,用人工記載的方式勢必造成許多管理上的不便與重複。透過資料庫管理系統(Database Management System)即可方便儲存及管理大量的資料。
資料庫(Database)就是將資料分門別類集結在一起,而管理系統則是架構在資料庫上的維護軟體,彼此的關係如同書庫與管理員。一個管理系統必須提供兩種功能:資料表、欄位與記錄
資料記載的方式會直接影響管理的效能,若是將許多聯絡的資料雜亂地寫在一張紙上,時間一長即容易忘掉這些資料的關係。若是有系統的記載,則查詢時就容易多了。以格式化的表格儲存的資料稱為資料表(Table)。Access 的資料庫就是由許多的資料表所組成。資料表的格式由欄位決定,欄位有自己的名稱,並限定資料記錄的內容。如聯絡簿中的姓名欄、電話欄等。資料表中的一筆筆資料則稱為記錄(Record),用圖 5-155 說明資料庫與資料表的組成關係。
圖 5-155:資料庫與資料表的關係
鍵值
資料表有個重要的限制,即不允許重複的資料出現在同一個資料表中,除了多佔儲存空間外,維護上也容易出錯(例如只修改到其中一筆資料)。為了容易區分記錄的不同,通常會以某些具有唯一性的欄位資料來識別(譬如身份證號碼或學號等)。這種具識別性的資料稱為鍵值(Key)。一個資料表至少必須擁有一個鍵值,其中被設計者選來區別記錄的鍵值稱為主鍵值(Primary Key)。鍵值可以是某個欄位或數個欄位組合而成,選取時必須留意兩件事:
如圖 5-156 的學生資料表,學號可當鍵值但姓名不行(可能會有同名同姓的人),客戶資料表的鍵值由姓名與地址組合而成。
客戶資料表
圖5-157:索引的架構
索引
一般查詢資料是採取循序的方式,若檢視資料表的每筆記錄,則需花費許多時間。如同圖書館的書籍,想要尋找想借的書通常會利用目錄索引找出書放於何處。這種搜尋資料的觀念也被應用於資料庫的管理中。一種簡單的資料表索引架構如圖5-157 所示,其中索引資料由資料表的某個欄位重新排序,與記錄該欄位資料在原資料表內的位置指標所構成。由於索引資料比原先的資料表小,可置於記憶體中處理,加速搜尋資料的速度。如果以鍵值當作索引欄位,這種索引稱為主索引(Primary Index),否則稱為次索引(Secondary Index)。一個資料表只能定義一個主索引。索引欄位的選取與查詢的型態密切相關,例如使用者經常以姓名來查詢學生資料,建立姓名的索引會比學號的索引有用。
學生資料表
圖5-156:資料表的主鍵值選取範例
資料關聯
資料與資料之間可能彼此之間有相對關係,這些關係該如何用資料表表達呢?資料表的欄位所記載的資料有個限制,即只能表示單一的個體,不能在同一個欄位記載兩筆以上的資訊。例如一個計畫資料表其中的一個欄位是記錄參與各計畫的所有員工編號,則儲存的結構不支援。也就是限制一個員工至多只能參與一個計畫,則所參與的資訊就可以記錄在員工資料上(如圖5-158 所示)。若是要記錄一個計畫有許多人加入,則需將計畫資料表的主鍵值(即計畫編號)加入員工資料表中。所增加的欄位一般稱關聯鍵值(Foreign Key),這兩個鍵值存在一些互動性:
圖5-158:資料表間的關聯
查詢
查詢就是查閱資料表的一種詢問,通常使用者只在意資料表中的部份內容而已,或是希望從多個資料表中,得到更完整的訊息。Access的查詢分兩類:選取查詢與動作查詢。選取只是單純地擷取資料而已,動作則進一步地對選出的資料做整批的變更,如刪除或替換。下面將討論選取查詢。選取查詢的處理動作,常見的方式有三種(如圖5-159所示)。
圖5-159:基本查詢的選取處理
Access 中的資料庫以副檔名為mdb儲存,除了存放資料表外,總共由六大部份所組成:
每個部份使用者均可自行設計,或是透過精靈的方式(巨集與模組不提供)完成建立資料庫的工作。
開啟舊有資料庫的方式有兩種:
圖5-160:開啟舊有資料庫的方式
若開啟範例資料庫則會出現圖 5-161 的操作主畫面。視窗中「功能表」以下拉式選單的方式提供使用者選取不同的執行指令,「工具列」則將常用的指令以按鈕的方式呈現。移動滑鼠至視窗某些地方,並按下滑鼠右鍵會彈跳出「快速功能表」。畫面中間的「資料庫視窗」是平常操作的中心所在,總共包含六個索引標籤:「資料表」、「查詢」、「表單」、「報表」、「巨集」與「模組」。可以點選不同的標籤,下方會顯示屬於這部份以定義好的物件名稱。
圖 5-161:Access的工作環境介紹
資料庫視窗中會顯示物件的名稱,如果想更換名字,請點選欲更名的物件,然後選取功能表「編輯」中的「重新命名」。同一類別的物件名稱必須相異,而資料表與查詢物件間的名稱也須相異。欲刪除某個物件時,可按Del 鍵。選取某個物件,按右邊的「開啟」與「設計」,可分別查看物件內容與設計規格。若要新增物件時,直接按「新增」。任何物件內部的修改若想儲存時可執行功能表「檔案」的「儲存檔案」或按工具列的儲存鈕。
按「資料表」標籤可以選取欲開啟的物件,例如選取產品資料,按下「開啟」,出現圖5-162 的資料表視窗。其中第一列的每個方塊為「欄選取器」,上面的文字顯示欄位名稱,其餘列為一筆筆記錄,相同欄位的資料置於同一欄。視窗最左一行的每個方塊為「列選取器」,上面有箭頭圖示者,表示目前處理的記錄位置,星號圖示表示新增記錄的插入位置。視窗左上角的方塊為「全選按鈕」。底端的「工具框」在操作資料時會使用。
圖5-162:資料表視窗
按下「欄或列選取器」可用來選取整欄或整列的資料。若要選取多個,請同時按Shift鍵,將滑鼠往水平或垂直方向拖曳,而按「全選按鈕」可選取資料表的所有記錄。選取欄位內資料的方法,是將滑鼠移至資料所在欄位的左邊界,游標成十字狀後,按下左鍵。若想選取相鄰欄位的資料時,請同時拖曳滑鼠。 瀏覽資料表時,可利用水平或垂直捲軸捲動畫面,若要移動目前處理的記錄位置,方法有二種:
瀏覽資料時,若發現欄寬與列高不足或太大,請將游標移至欄選取器的右邊界,或是列選取器的下邊界,此時游標變十字狀,拖曳滑鼠即可調整大小。
圖5-163:資料表視窗下方的「工具框」使用說明
以滑鼠點選欲修改的欄位,即可進行編輯的工作。如果已經更動原有資料,最左邊會出現鉛筆的圖示,表示正在編輯中,也反映資料尚未存檔。如果這時想取消修改,請按 Esc。若按下 Shift+Enter 或將游標移至其他記錄上,會迫使資料寫入硬碟,鉛筆圖示消失,此時只能以復原按鈕取消修改。 按「工具框」或「工具列」上的新增按鈕,游標會移至下方的空白記錄上,接著利用修改資料的技巧輸入資料。
如果輸入的欄位資料與前一筆相同,可按下 Ctrl+'進行拷貝。輸入多行文字時,使用 Ctrl+Enter 換行。
將游標移至欲刪除的記錄上,按「工具列」的刪除鈕或執行功能表的「編輯」的「刪除記錄」。由於刪除動作無法復原,螢幕會出現確認的訊息。如果刪除的記錄違反資料表的關聯性時會被拒絕刪除。
排序的作用是將資料表的記錄,依某種次序排列,方便使用者的瀏覽。操作的方式為:選取排序依據的欄位,選擇排序的方式(按「工具列」的遞增鈕或遞減鈕)。如圖 5-164,如果選取多欄資料,Access會先依據第一欄排序,如果第一欄的資料相同,再依第二欄排序,依此類推。
圖5-164:排序資料的操作
篩選的目的在於過濾資料,只顯示滿足某些條件的記錄。篩選的方式有三種:依表單篩選、依選取範圍篩選、進階篩選/排序 。下面是篩選方法的比較:
依表單篩選 | 依選取範圍篩選 | 進階篩選/排序 | ||
搜尋吻合多個準則的記錄 | 是(但是必須一次指定一個準則) | 是(而且可以一次指定所有準則) | 是(而且可以一次指定所有準則) | |
搜尋吻合一個準則或另一準則的記錄 | ||||
允許輸入運算式當做準則 | ||||
以遞增或遞減的順序排序記錄 | 否(不過在應用篩選之後, 可以在工具列上按一下遞增排序或遞減排序來排序所有已篩選的記錄) | 否(不過在應用篩選之後,可以在工具列上按一下遞增排序或遞減排序來排序所有已篩選的記錄) | 是(可以用遞增的順序排序某些欄位且用遞減的順序排序其它的欄位) |
從資料表中直接選取篩選的條件,可以是相鄰欄位的資料或是相鄰記錄的資料,然後按選取篩選鈕,過濾出包含選取資料的記錄。相鄰欄位資料是且的條件,不同記錄間是或的條件。圖 5-165 說明篩選條件選取的方式。如果想取消篩選結果按取消篩選鈕。
找出供應商是生活妙且類別是調味品的產品資料
找出供應商是光權或生活妙的產品資料
圖5-165:選取篩選的操作範例
利用表單篩選可指定較為複雜的條件,如加入比較運算式,或將不相鄰記錄的條件結合起來。圖 5-166 說明畫面篩選的操作過程。按下表單篩選鈕後,資料表剩下一筆空白的記錄,於空白欄位處可輸入條件,或按下欄位旁的按鈕,會將此欄所有相異的資料以選單的方式供您選擇。如果要建立或的條件,請按底端「或」的圖示,多個條件時,按下最後一個「或」就可新增一個條件式。
圖5-166:表單篩選操作過程--找出供應商是光權或生活妙的產品資料
按「查詢」標籤選取欲開啟的物件,例如選取十個最貴商品,按下「開啟」。出現圖6-167 的視窗,其中內容顯示產品資料表中單價排行前十名的記錄,但只顯示產品名稱與單價而已,表示已經透過投射與篩選的處理。查詢資料視窗的操作方式與資料表相同。
圖5-167:查詢結果的範例
按「表單」標籤選取欲開啟的物件,例如選取產品清單,按下「開啟」,出現圖 5-168 的視窗。其中內容顯示產品資料表的部份欄位資料,注意欄位安排的方式有別於資料表,這正是表單的功能,請自行安排與設計介面。表單可供檢視與修改資料,其資料操作的能力與表單的屬性設定有關。
圖5-168:表單結果的範例
按「報表」標籤選取欲開啟的物件,例如選取依類別區分產品, 按下「預覽」,出現如圖 5-169 的視窗。其中內容顯示產品資料表的產品名稱,並依類別分組,而底端的工具框可用來跳至特定頁。報表主要做為輸出的清單,因此只有列印的操作,上方工具列左邊的按鈕說明如圖 5-170 所示。
圖 5-169:報表結果的範例
圖 5-170:列印工具按鈕說明
下面將介紹資料庫的設計,包括:資料表、 查詢、表單及報表的設計。Access 對這些不同物件的設計提供許多方法,如透過精靈層層對話的方式或是自行規畫。
資料表的設計屬於資料庫設計中最複雜也最重要的部份,設計的好壞會影響維護的效能。一般設計的原則是避免重複的資訊與資訊的遺失。如圖 5-171 的修課資料表就不甚理想,因為同一門課會有許多學生選修,相同的課程名稱與學分資料會重複多次,不但佔據表格空間且修改時要修正所有重複的資料。解決的方法可將資料表適當地切割成兩個以上的表格(如學生基本資料與課程基本資料),讓資料維護的工作集中在單一資料表上。但須留意切割後的資料表能還原回去,否則會造成部份資料的遺失。
學號 | 姓名 | 課程名稱 | 學分 |
824301 | 張同學 | 計算機概論 | 3 |
824302 | 陳同學 | 計算機概論 | 3 |
824303 | 周同學 | 英文 | 2 |
圖 5-171:不良的資料表設計
下面用學校資料庫的例子學習資料表的設計,包含利用E-R 定義資料表、設定資料表的欄位屬性、利用設計檢視建立資料表、建立資料庫關聯圖、輸入資料等,而資料表內容包含學生、老師、課程。
E-R(Entity-Relationship)圖是一種常見的資料庫設計方式,主要將資料表的設計轉換成建立個體(Entity)與尋找個體間關係(Relationship)的程序。例如學生、老師與課程是個體,學生與課程有修課的關係,老師與課程有授課的關係。個體利用屬性來描述本身的特性,例如學生的屬性包括姓名、出生日期與地址等,課程的屬性包括名稱、學分與上課時間等。個體的屬性中必須選出一個當主鍵值,做為識別的依據。關係存在某種限制,限制的種類包括1對1、1對多與多對多。例如一門課可以有多個學生選修,且一位學生亦可選修多門課程,表示學生與課程的關係是多對多,同樣地一門課只有一位老師授課,但一位老師可教多門課程,表示老師與課程的關係是1對多。
圖 5-172:E-R圖的畫法
學校資料庫的E-R圖,如圖 5-173 所示,屬性下方加底線者為主鍵值。接著轉成資料表的形式,轉換的規則為:
圖 5-173:學校資料庫的E-R圖
學校資料庫的轉換結果共包括四個資料表(如圖 5-174),括弧內為欄位名稱。在 Access 中欄位的名稱最多可達 64 個字元,其中可包括中英文字、數字與空白,但不可使用小數點(.)、驚嘆號(!)、重音符號(')和中括號([]),但不可以使用空白字元或控制字元(ASCII碼 0 至 31)當做開頭。
學生資料=(學號、姓名、性別、出生日、地址) 老師資料=(編號、姓名、電話) 課程資料=(課號、名稱、學分、編號) 修課資料=(學號、課號、分數)
圖 5-174:E-R圖轉換結果
資料表的欄位除了需指定名稱外也需指定儲存的資料型態與相關的屬性設定,以限定輸入或顯示該欄位的方式,下面分別說明:
資料型態 資料型態主要用來決定欄位所能儲存的內容,Access 的欄位可使用的資料型態與相關說明列於表格 5-3。替欄位選擇適當的型態時應考慮下列因素:
資料型態 | 用法 | 儲存大小 | 範例 |
文字 | 文字、文字及數字的組合或不需要計算的數字。 | 最多255個字元 | 地址、電話號碼 |
備忘 | 較長的文字及數字。 | 最多64000個字元 | 註腳、說明 |
數字 | 做為數學計算的數字。 | 1、2、4、或 8 個位元組 | 成績、年齡 |
日期/時間 | 日期及時間的型態 | 8 個位元組 | 生日、入學日期 |
金額 | 貨幣資料型態可提供計算時去掉小數的功能。 | 8 個位元組(準確到小數點左邊的第 15 位及右邊第 4 位) | 薪水、售價 |
自動跳號 | 當加入新的記錄,Access會在該欄指定由 1 遞增的編號或插入亂數。 | 4 個位元組 | 可設成主鍵值的欄位 |
是/否 | 邏輯值,如「是/否」、「真/假」、「開/關」。 | 1 個位元組 | 性別、銷售與否 |
OLE物件 | 連結或內嵌的物件,如Word 文件、Excel 試算表、圖片、聲音等。 | 最多可到十億個位元組(視磁碟空間的限制而定)。 | 相片、聲音 |
查詢精靈 | 建立一個欄位,允許您從其它資料表或從下拉式清單的資料中選擇資料。 | 與執行查詢的主索引欄位相同大小,典型是 4 個位元組 | 職稱、供應商名稱 |
表格 5-3:Access提供的欄位資料型態
屬性設定
欄位大小 | 範圍 | 準確至小數點第幾位 | 儲存的位元組數 |
位元組 | 0 至255 | 無 | 1 |
整數 | -32,768 至 32,767 | 無 | 2 |
長整數 | -2,147,483,648 至 2,147,483,647 | 無 | 4 |
單精準數 | -3.402823E38 至 3.40283E38 | 7 | 4 |
雙精準數 | -1.79769313486232E308 至1.79769313486232E308 | 15 | 8 |
複製品編號 | 使用在複製品中建立一個唯一的識別字 | N/A | 16 |
表格5-4:數字資料型態的欄位大小
下面列出學校資料庫中各資料表的屬性設定,由於每種資料型態的屬性設定項目不盡相同,如果未列於下表者請用預設值。有關輸入遮罩的格式設定請參考相關的輔助說明。
學生資料表屬性設定值 | |||||||
欄位 名稱 | 資料 型態 | 欄位 大小 | 格式 | 輸入遮罩 | 必須有資料 | 允許零長度字串 | 索引 |
學號 | 文字 | 6 | 是 | 否 | 是(不可重複) | ||
姓名 | 文字 | 10 | 是 | 否 | 是(可重複) | ||
性別 | 是/否 | ;男;女 | 否 | 否 | |||
出生日 | 日期 | 如注一 | 如注二 | 否 | 否 | ||
地址 | 文字 | 50 | 否 | 否 | 否 |
注一:ggee年mm月dd日
注二:"民國"99\年99\月99\日;0;_
老師資料表屬性設定值 | |||||||
欄位 名稱 | 資料 型態 | 欄位 大小 | 輸入 遮罩 | 標題 | 必須有資料 | 允許零長度字串 | 索引 |
編號 | 自動跳號 | 長整數 | 教師編號 | 是(不可重複) | |||
姓名 | 文字 | 10 | 是 | 否 | 否 | ||
電話 | 文字 | 15 | 如注三 | 否 | 否 | 否 |
注三:\(99\)0000000;;_
課程資料表屬性設定值 | |||||||
欄位 名稱 | 資料 型態 | 欄位 大小 | 標題 | 預設值 | 必須有資料 | 允許零長度字串 | 索引 |
課號 | 文字 | 4 | 課程編號 | 是 | 否 | 是(不可重複) | |
名稱 | 文字 | 20 | 課程名稱 | 是 | 否 | 否 | |
學分 | 數字 | 位元組 | 學分數 | 0 | 是 | 否 | |
編號 | 數字 | 長整數 | 教師編號 | 否 | 否 |
修課資料表屬性設定值 | |||||||
欄位 名稱 | 資料 型態 | 欄位 大小 | 標題 | 驗證規則 | 必須有資料 | 允許零長度字串 | 索引 |
學號 | 文字 | 6 | 是 | 否 | 是(可重複) | ||
課號 | 文字 | 4 | 課程編號 | 是 | 否 | 是(可重複) | |
分數 | 數字 | 位元組 | 學期成績 | <=100 | 否 | 否 |
首先建立一個空白資料庫,方法是執行功能表「檔案」 的「開新資料庫」,選「一般」標籤下的空白資料庫。按「確定」, 接著在檔案名稱處輸入"school.mdb",按「建立」。然後進入資料庫視 窗選「資料表」標籤,按「新增」。畫面出現如圖5-175 的對話方塊,可選擇不 同的方式設計資料表,其中「資料表精靈」透過對話的方式,依據內部以定義好的 範例,快速設計出相類似的資料表。下面說明如何利用「設計檢視」的方式,自行規畫資料表的內容。請選取「設計檢視」並按「確定」,以開啟設計檢視視窗。
3
圖 5-175:不同的資料表設計方式
設計檢視視窗的使用
設計檢視視窗分上下兩部份,上半部如圖 5-176 所示,主要做為欄位名稱的輸入與資料型態的設定。而說明這一項可有可無,只做為附加的文字解說而已。資料型態的輸入可透過選單的方式選取(如圖所示)。視窗左邊的列選取器可選取整列的資料,進而做刪除、插入與搬移欄位的處理。
視窗下半部如圖5-177 所示,可替每個欄位設定屬性。屬性分「通用」與「查詢」兩類,查詢屬性在資料型態為查閱精靈時會使用到。設定某個欄位的屬性時,先將游標移至上半部視窗的欄位記錄上,如學號欄位的任何位置皆可,則下方即為學號的屬性值。設定屬性時仍可利用選單選取的方式,或透過輔助精靈。完成屬性設定後,必須從欄位中選取一個當主索引(或主鍵值)。首先以列選取器選擇要成為索引的欄位,按下右鍵呼叫快速功能表,選取「主索引」(如圖5-178 的範例)。如果主索引由兩個以上的欄位所組成,請按下列選取器並拖曳滑鼠。現在請依序建立四個資料表物件,並取名為學生、老師、課程與修課。建立完成後請別急著輸入資料,我們還需建立資料表間的關聯資訊。
圖 5-176:設計檢視上半部視窗使用說明
圖 5-177:設計檢視下半部視窗使用說明
圖5-178:建立主索引的方式
在設計檢視中只能設定單一資料表的屬性,而資料表欄位間的主鍵值與關聯鍵值的關係並未設定。例如修課資料的學號欄位,其值必須出現於學生資料的學號欄位。Access提供圖形的介面,可以很方便地建立這種關係資料。建立關聯前請關閉所有的資料表,接著執行功能表的「工具」的「資料庫關聯圖」。螢幕出現「顯示資料表」的視窗(如果沒有請執行功能表的「關聯」的「顯示資料表」),視窗中間方塊顯示所有的資料表名稱,請逐一選取各資料表並按「增加」(如圖 5-179 所示),最後按「關閉」。資料庫關聯圖視窗中的資料表,可利用滑鼠任意安排他們的位置。
圖5-179:於資料庫關聯圖加入資料表
建立欄位間的關聯時,請點選資料表的欄位,按住左鍵將游標移至另一資料表的欄位上,如圖8-26的範例所示,其中建立學生學號與修課學號的關聯。接著出現「關聯」的視窗,選取"強迫參考完整性"的選項(這種選項會驅使系統嚴格檢查關聯間的限制),然後按「建立」,圖上會呈現1-的連線,表示1對多的條件。請依據圖8-27的結果,自行完成其餘部份。
圖 5-180:建立關聯的操作流程
輸入關聯鍵值時,必須留意輸入值不能超過所參考的主鍵值範圍,否則容易出現無法參考的錯誤。如果將主鍵值的內容列出,然後以選取的方式輸入,自然能避免這種錯誤。這種功能可透過設定欄位的查閱屬性達成。下面介紹修課資料表中,學號與課號的設定方式。如果修課資料表尚未開啟,請利用「設計」按鈕開啟,否則選擇功能表「檢視」「資料表設計」,進入修課資料表的設計檢視模式。選取「查閱」標籤,輸入屬性值。儲存後選擇功能表「檢視」「資料工作表」,查看資料表內容。將游標移至學號或課號即可。
當開啟任何種類的物件時,功能表的「檢視」選項,可切換不同的檢視模式。例如處理資料表時,可於資料表格與設計表格間切換。利用工具列的下拉式按鈕,也有相同的效果。
Access 對查詢的設計,提供一種圖形介面的工具,稱為 QBE (Query By Example),即透過查詢結果的範例,來下達條件。另一種方式是利用資料庫查詢的標準語言,即 SQL (Structured Query Language)完成。使用 SQL 必須先了解其語法,學習上需要一段時間。相較下 QBE 就容易多了,下面將介紹 QBE 的設計方式。
單一資料表的查詢
如果我們想要從修課資料表,得知某個課程的修課學生有哪些,一種作法是利用8.2節有關資料表的篩選技巧,另一種方式是建立查詢。後者的優點是以後遇到相同的需求時能避免重複的操作。底下介紹查詢建立的方式。首先於資料庫視窗的查詢標籤下新增物件,選取「設計檢視」的設計方式。於顯示資料表視窗中點選修課資料表,按「增加」(如圖 5-181 所示),最後按「關閉」。
圖 5-181:輸入查詢處理的資料來源
圖 5-182:查詢設計視窗
查詢設計視窗如圖 5-182 所示分上下兩部份,上半部顯示處理的資料來源,下半部的每一行用來設定查詢的欄位資料。新增欄位的方式可利用「欄位」資料項旁的按鈕選取,或直接從上方的資料表中拖曳欄位下來。下方的「資料表」顯示欄位來自哪個資料表。「排序」項可設定查詢結果是否依欄位資料排序。「顯示」項可控制是否顯示欄位資料。「準則」與「或」用來設定篩選的條件。
請依圖5-182 設定資料並儲存命名為"選課資料"。選取功能表「檢視」「資料工作表」,便可查看此查詢的結果(如圖 5-183),其中顯示選修課號為"1001"的學號。如果想查詢其他課號的資料,必須修改準則部份,這種方式明顯地缺乏彈性。現在請選取功能表「檢視」「查詢設計」,依圖 5-184 修改準則為"[輸入課號]"。存檔後再查看一次,此時畫面出現圖 5-185 的對話方塊,其中可輸入任意課號。這種用中刮號表示的字串,可達到條件的參數化。
圖5-183:單一資料表的查詢結果
圖5-184:設定參數化的查詢準則
圖8-185:輸入參數的對話方塊
多個資料表的查詢
如果想進一步知道選修某個課程的學生成績與姓名,光靠修課資料表是不夠的。因為姓名資料記錄在學生資料表上,必須合併這兩個資料表,才能完成此類的查詢。這種合併查詢的建立方式如下。仿照之前建立查詢的方式,新增查詢並於顯示資料表視窗中,同時增加修課與學生資料表。依圖 5-186 輸入相關資料,存檔並取名為"課程成績"。課號"1001"的執行結果如圖 5-187 所示。
圖 5-186:合併查詢的設計
圖5-187:合併查詢的結果
表單是除了資料表與查詢外,另一種可以顯示或輸入資料的介面。不同的是,畫面較為多樣與彈性。例如同樣是一張資料表,透過畫面您可以自由安排欄位的位置,與調整資料表的文字樣式與大小,甚至加入一些圖案與底色等。Access提供好幾種設計畫面的方式,這裡介紹最簡單的一種,即利用畫面精靈。畫面精靈可迅速完成畫面的初稿,不滿意時在利用設計模式,做進一步的修改。
下面介紹畫面精靈的操作方式,並以學生資料表的畫面製作為例。
完成後會自動進入開啟模式,結果如圖 5-188 所示:
圖5-188:學生資料的畫面結果
Access 的物件如資料表、查詢與畫面,均可將他們的結果列印出來,為什麼還需要報表呢?原因在於報表多了分組資料的安排。所謂分組就是將同一類的資料聚集在一起,譬如學生資料表中,可指定姓名第一個字相同的人排在一起。報表的設計類似畫面,這裡同樣地只介紹最簡單的一種,即利用報表精靈。
假設我們要製作成績的報表,其中包括課程名稱與課號,及修課學生的學號、姓名與分數,而且希望將同一門課的成績資料排在一起。由於處理的資料超過一個資料表,因此必須先建立查詢,以整合資料。請利用之前查詢設計的技巧,新增物件並取名為"成績單",內部規格如圖8-39所示。
圖5-189:成績單的查詢設定
接著介紹報表精靈的操作方式:
完成後會自動進入預覽模式,結果如圖 5-190所示。
圖5-190:成績單的報表預視結果