資料庫管理 Access 2003 許欽嘉 老師 資料庫管理 第1章、資料庫概論與Access 2003 第2章、建立與管理Access資料庫 第3章、資料表的建立與設計 第4章、資料輸入、排序與篩選 第5章、資料關聯 資料庫管理 第6章、建立查詢 第7章、建立與使用表單 第8章、建立與使用報表 第9章、建立資料頁 第10章、Access 在web上的應用 第11章、與Office 2003其他軟體整合 第12章、好用的資料庫工具 附錄A、淺談巨集與模組 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-1 查詢簡介 一個資料庫可以使用 查詢 來產生多樣 化的資料,其資料來源可以是一個或 多個的資料表,或者是另一個查詢。 查詢 和第4-6節提到的“資料篩選”在 功能上很類似,都是藉由設定適當的 條件,從資料表中將所要的資料找出 來 但是查詢的功能更彈性,使用者可以 靈活應用到所需的事務上。 單一資料表的查詢 多個資料表的查詢 6-1 查詢簡介 6-1-1 資料篩選與查詢 6-1-2 查詢的種類 6-1-3 查詢與資料表的關係 6-1-1 資料篩選與查詢 篩選:只能在目前的資料表中設定, 且無法單獨存在,沒有篩選出來的資 料只是暫時隱藏,只要移除篩選就會 全部呈現。 查詢:可以從多個資料表查詢資料, 並單獨儲存成查詢物件,且可再做進 一步的查詢。查詢的結果是動態的, 隨著資料表的異動而跟著更新。 6-1-2 查詢的種類 1. 選取查詢:輸入條件後,由一個或多個 資料表中,將符合條件的記錄顯示出來 2. 交叉資料表查詢:如樞紐分析表,用於 數值資料的統計或分析。 3. 參數查詢:使用者輸入不同參數,依所 輸入的參數值查看符合條件的結果。 4. 動作查詢:可編輯資料表中的記錄,如 新增、刪除、更新記錄…。 5. SQL查詢:使用SQL語法來建立查詢。 6-1-3 查詢與資料表的關係 查詢是由資料表過濾擷取而來的。 查詢是虛擬資料表可再查詢。 資料表或查詢,可做為表單、報表或 資料頁等物件的參照來源。 若要查詢多個資料表,則資料表間必 須設定關聯欄位。 可在查詢設計視窗中建立暫時性關聯 若選用到具有永久性關聯的資料表, Access會自動套上已有的關聯。 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-2 選取查詢 6-2-1 簡單查詢精靈 查看部份欄位的所有記錄 6-2-2 尋找重複資料查詢精靈 查看資料表中重複值的資料 6-2-3 尋找不吻合資料查詢精靈 查詢A與B資料表的關聯中,不 吻合(沒適當對應)的(孤兒)記錄 A與B資料表必須先建立關聯 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-3 自訂新查詢 6-3-1 查詢設計視窗介紹 6-3-2 自訂查詢條件 6-3-3 查詢設計視窗的基本操作 6-3-1 查詢設計視窗介紹 來源區 條件區 來源區 條件區 6-3 自訂新查詢 若選擇同一列、兩個以上的欄位做為查 詢條件,則必須同時滿足兩個欄位條件 故同一列的條件句為「且」、「And」 若選擇不同列同一欄位,則滿足其中一 個欄位即可,因為不可能同時滿足。 故不同列的條件句為「或」、「Or」 方便輸入:按右鍵顯示比例 (放大) 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-4 設定查詢條件 6-4-1 文字欄位 6-4-2 數值欄位 6-4-3 使用運算式建立幫手 6-4-4 使用計算欄位 6-4-5 合計的應用 6-4-1 文字欄位 設定文字欄位的準則:*、?、# –*:代表所有字元 –?:代表單一字元 –#:代表單一數字 準則範例 ”志凌”OR”資訊” NOT”志凌資訊” Is Null Is Not Null Like “ ” Like “*String” Like “String*” Like “*String*” Like “??公司” = #2003/09/28# 說明 尋找”志凌”或”資訊”的文字 尋找除了”志凌資訊”之外的文字 尋找該欄位無資料者 尋找非空白資料考 尋找空字串 尋找以String為結尾的字串 尋找以String為開頭的字串 尋找含有String的字串 尋找只有二個字的公司名字 尋找日期等於2003/09/28的記錄 Between #2003/09/01# 日期介於2003/09/01~2003/09/30 And #2003/09/30# 6-4-3 使用運算式建立幫手 6-4-4 使用計算欄位 經由運算產生的欄位,只存在目前的查 詢,並沒有實際存放在的資料表中。 計算欄位所參考的欄位必須是可計算的 欄位類型,如數字、貨幣等。 新增的欄位名稱:[欄位A]*[欄位B] 欄位名稱預設值為Expr1(建議自行命 名) Between #2003/09/29# And #2003/10/9# Between Data( ) And Data( )-10 6-4-5 合計的應用 合計也是針對數值欄位作計算,但不 同的是它可以依某特定的”群組”作 數值計算。 Access提供的計算方式有:總計、平 均、最大值、最小值、筆數、標準差、 變異數、第一筆、最後一筆… 計算方式也可自行定義合計公式。 在合計的應用中,至少必須有一個群 組欄位、一個計算欄位。 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-5 交叉資料表查詢 將數值資料經過整理分析後,建立具有 欄、列標題且於中間交錯的儲存格中, 顯示與對應欄、列有關的資料。 單純的交叉資料表查詢,含有三個欄位 欄和列標題可以再擁有子標題,而得到 多層次的交叉資料表(最多三個層次)。 又稱為交叉分析或樞紐分析 實際案例—2004民意調查 選項 % 陳呂配 38 連宋配 41 未表態 21 總 傾民 傾國 傾親 無傾 計 進黨 民黨 民黨 向 陳呂配 38 91 6 3 27 連宋配 41 3 86 94 28 未表態 21 5 8 3 45 選項 實際案例—2004民意調查 選項 總 大台 桃竹 中彰 雲嘉 計 北 苗 投 南 陳呂配 38 34 30 39 46 連宋配 41 49 48 35 32 未表態 21 17 22 27 23 高屏 宜花 澎 東 48 25 35 38 17 37 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-6 參數查詢 前面幾節所介紹的查詢,都是依照 我們事先所定義的準則,找到所要 的查詢結果。 但如果我們希望依據同一準則,使 用不同的參數 (文字、數字、日期) 查詢,以使得到不同的結果,此時 就需要使用 參數查詢,例如:查詢 每個月的訂單、查詢公司名稱…… 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-7 動作查詢 動作查詢可以有效率的直接對資 料表中的記錄做新增、修改、刪 除等動作,或是再產生新資料表 在查詢設計視窗中建立,直接修 改資料表中的資料。 6-7 動作查詢 6-7-1 產生資料表查詢 複製現有資料表資料,到全新的資料表中 6-7-2 更新查詢 (修改) 整批更新所指定的資料表內的資料 6-7-3 新增查詢 將符合條件的記錄,新增到現有的資料表 6-7-4 刪除查詢 直接刪除符合條件的資料 6-7-2 更新查詢 IIf (expr, truepart, falsepart) – expr 這是要求值的運算式 – truepart當expr為true時,傳回的值或運算式 – falsepart當expr為false時,傳回的值或運算式 IIF ([數量之總計]<350, [定價]*0.5,[定價]) 第六章 建立查詢 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 查詢簡介 選取查詢 自訂新查詢 設定查詢條件 交叉資料表查詢 參數查詢 動作查詢 SQL 查詢 6-8 SQL 查詢 結構化查詢語言(Structured Query Language, SQL) 它是一種標準的資料庫查詢語言,目前任何的資料 庫系統均支援此種語言。 Access中大多數的查詢,都可以使用各式查詢精靈, 或是在設計檢視視窗中建立,而這些建立好的查詢, Access會自動將其編譯成SQL指令。 當使用者點選 查詢/執行 指令,或按一下工具列上 的 執行 工具鈕時,系統即是執行對應的SQL指令 使用者可以點選 檢視/SQL檢視 指令,來查看所建 立之查詢的對應SQL指令。 課堂練習(開啟Ch05_結果.mdb範例檔) 1. 簡單查詢精靈 客戶!公司名稱、訂單!訂單日期、訂單明細!數量 摘要選項:總計、日期分組:年 檔案名稱:客戶訂單數量統計 2. 尋找重複資料查詢精靈 資料表:客戶 包含重複值的欄位:客戶編號 附加的查詢欄位:公司名稱 檔案名稱:尋找 客戶 的重複值 3. 尋找不吻合資料查詢精靈 資料表:客戶 vs. 資料表:訂單 符合的欄位:客戶編號、查看公司名稱 檔案名稱:客戶 與不符 訂單 自訂新查詢 4. 請找出所有地址為台北縣(或台北市)而且訂 單數量>=10的客戶之公司名稱、地址、數 量等資料,檔名為台北地區重要客戶 5. 找出日期為2003/4/1至4/30的公司名稱、訂 單日期、產品名稱,檔名為4月份訂單 6. 增加欄位訂單金額: [定價]*[數量],並做遞 減排序,欄位屬性設為貨幣,並呈現公司 名稱、訂單日期、訂單金額等欄位,檔名 為使用計算欄位應用。 7. 以公司名稱做為群組依據、以數量做為計 算欄位(總計),檔名為合計的應用。 8. 交叉資料表:選取使用計算欄位應 用查詢物件,選取欄為公司名稱; 列為訂單日期(以季來區隔);計算 欄位為訂單金額(函數為合計),並 勾選列合計,檔名為使用計算欄位 應用_交叉資料表。(請記得將設計 格式修改為format) 9. 參數查詢:設定日期參數,依開始 日期及截止日期來輸入參數,並顯 示客戶名稱、訂單日期等欄位,檔 名為參數查詢應用。 10. 動作查詢 請利用查詢產生一個內容為2003年1 月至3月份的訂單之新資料表,呈現 公司名稱、訂單日期、產品名稱,資 料表及查詢之檔名為第一季訂單。 查詢並呈現產品資料表的所有欄位, 將訂價>=20000的產品打八折,檔案 名稱為更新查詢應用。
© Copyright 2024 ExpyDoc