access數據庫(關于access數據庫的基本詳情介紹)

操作要求:

在利用ACCESS數據庫教學管理鐘老師課堂.accdb中數據表,完成如下查詢。

1、創建一總計查詢學生合格門數-所獲學分-總計查詢。以學生、課程、選課成績為數據源,創建一總計查詢學生合格門數-所獲學分-總計查詢,結果要求顯示學生編號、學生姓名、合格課程門數、總獲學分字段。這里需要注意的是,合格課程是指成績>=60分的課程。

2、創建一總計查詢各部門年工資支出總計查詢。以部門人員、部門信息和工資表為數據源,創建各部門年工資支出總計查詢,統計各部門每年的工資支出。結果顯示部門名稱和各部門工資年支出字段,各部門工資年支出=([工資]![基本工資]+[ 工資]![獎金]+[ 工資]![津貼]+[工資]![保險])*12

3、創建一總計查詢產品利潤總計查詢。以產品、訂單和訂單明細表為數據源,創建產品利潤總計查詢,統計每種產品的利潤。結果顯示產品名稱和利潤字段,利潤=sum([訂單明細]![數量]*[訂單明細]![單價]*[訂單明細]![折扣]-[產品]![單價])

知識要點:

1、什么是總計(分組)查詢

2、總計項及其含義

3、總計查詢設計要點

知識點說明:

1、總計(分組)查詢:

在實際應用中,用戶可能不僅要統計某個字段中的所有值,而且還需要把記錄分組,對每個組的值進行統計。例如將所有同學按性別男和女分組,分別統計男同學人數和女同學人數。

也可以利用多個屬性進行分組,使得組更細化。例如先按性別將所有同學分為男同學和女同學兩個組,再按是否為黨員分組。結果產生四個組:男生黨員同學組、男生非黨員組、女生黨員組、女生非黨員組。所以,對于采用多個字段分組時,我們是先按照第一字段分大組,再按照后一字段在大組中劃分小組,依此類推。

在SQL語句中,分組用Group By子句完成。在ACCESS總,系統專門提供了設計分組的設計網格。

2、總計項及其含義:

當進行總計查詢設計時,必須指定查詢中每一字段的用途,在ACCESS有下列選擇可供選擇。

3、總計查詢設計要點:

(1)確定是否采用總計查詢(難點):什么時候使用分組,是同學們遇到的一個難點。當要求統計的數據,不是來自一條記錄,而是來自分組后的多條記錄中某一字段的數據時,就必須采用總計查詢來完成。如求男同學和女同學各有多少人的問題。

(2)確定分組字段:即通過題目要求,確定記錄是按照哪些字段來分組的。

(3)確定計算字段:總計查詢結果中,要顯示通過統計而得到的值,這些列在原表中是沒有的,稱為計算字段。比如求總和、平均值等等。必須明確是在哪個字段上進行統計。這里十分值得一提的是,對于計數選項,必須選擇無重復值、沒有null值的字段來進行,否則會使計數個數減少。如上面求男同學和女同學各有多少人,需要對學生編號字段進行計數,學生編號是不可能重復的。

(4)確定條件字段:在總計查詢中,字段選中條件選項,表明該字段的引入只是為了對分組進行某種限制,該字段不會顯示在結果中。

上述知識點與分析,同學們在下面的設計中注意理解,學會應用。

1、創建學生合格門數-所獲學分-總計查詢。

以學生、課程、選課成績為數據源,創建一總計查詢學生合格門數-所獲學分-總計查詢,結果要求顯示學生編號、姓名、合格課程門數、總獲學分字段。這里需要注意的是,合格課程是指成績>=60分的課程。(演示總計查詢設計過程)

查詢設計分析:

(1)數據源為學生、課程、選課成績表表。

(2)用于進行選擇的條件有一個:合格課程,即成績>=60。

(3)要顯示的字段為:學生編號、姓名、合格課程門數、總獲學分。這里應注意,合格課程門數、總獲學分這兩個字段是在數據源的三個表中所沒有的,是通過統計而得到的,即計算字段。

(4)合格課程門數:應該是一名同學所選修課程(這里要求分數>=60)的課程編號個數總和。當然也可以統計課程名稱個數,但我們注意到,課程名稱可能是重復的。如大學英語,有幾個學期的不同課程,其每個學期都作為一門課計算,但是其每學期的課程編號是不相同的。

(5)總獲學分:應該是對一名同學所通過課程所對應的學分進行求和。

(6)分組字段選擇:由于每一名同學都有一個合格課程門數、一個總獲學生,顯然這里的分組字段應該由學生編號來完成,應為只有學生編號是不會重復卻又能唯一標識一名學生的字段。

在設計視圖設計(如下圖):

(1)在數據源區添加學生、課程、選課成績表表。

(2)點擊工具欄上方的總計按鈕,從而在設計網格中顯示總計行。

(3)將所需的字段添加到字段行,其設計參加下面圖解。

1.1、首先像常規查詢設計一樣,打開查詢的設計視圖,并添加所需的數據源。如果數據源由多個表構成,一般要先在基本表中將關系建好。如下圖

1.2、點擊工具欄上的總計按鈕,參加下圖

1.3、選擇總計按鈕后,在查詢視圖的設計網格中出如下圖的總計行。以便進行總計查詢設計

1.4、按照上面分析,向字段行中加入所需字段。當我們直接添加字段時,字段的總計行默認情況的選項為分組。如下圖所示

1.5、根據各字段在題目中的要求,選擇其適當的選擇。如下圖:

說明1:分組字段為學生編號和姓名。從分析中可知,分組只需要學生編號即可,這里為什么要加入姓名字段?原因是題目中要求顯示學生姓名,而總計查詢中,只有分組字段、計算字段能夠顯示在結果中,這里姓名字段顯然不可能用于計算,因此只能選擇分組選項。同時我們也注意到,任何一個學生編號顯然對應了一個學生姓名,故此處先以學生編號分組后,再以姓名分組,并無影響。

說明2:作為條件選項的字段其顯示行不能打勾,不然要出現錯誤提示,查詢不能保存。如下圖中的成績字段

1.6、查看數據視圖后,上面查詢結果如下圖所示。我們注意到:課程編號之計數和學分之總計不滿足題目要求的合格課程門數、總獲學分,且成績字段未顯示。

1.7、對字段進行重命名,如下圖:

1.8、查看結果,并保存查詢,完成設計。如下圖:

2、創建一總計查詢各部門年工資支出總計查詢。

以部門人員、部門信息、工資表為數據源,創建各部門年工資支出總計查詢,統計各部門每年的工資支出。結果顯示部門名稱和各部門工資年支出字段,各部門工資年支出=([工資]![基本工資]+[ 工資]![獎金]+[ 工資]![津貼]+[工資]![保險])*12

查詢設計分析:

(1)數據源為:部門人員、部門信息、工資表。

(2)查詢無篩選條。

(3)要顯示的字段為:部門名稱、各部門年工資支出。顯然各部門年工資支出必須通過計算才能得到。

(4)各部門年工資支出:應該一個部門中,所有員工年工資的總和。題目中([工資]![基本工資]+[ 工資]![獎金]+[ 工資]![津貼]+[工資]![保險])*12表達式得到的結果僅為一名員工一年的收入。

(5)分組字段選擇:部門名稱。因為按部門分組,同時又要在結果中顯示 部門名稱。

在設計視圖設計(如下圖):

(1)在數據源區添加 部門人員、部門信息、工資表。

(2)點擊工具欄上方的總計按鈕,從而在設計網格中顯示總計行。

(3)將所需的字段添加到字段行,并在字段的總計行選擇合適的選項。

2.1、設計查詢,如下圖:

這里一定要注意分析各部門工資年支出字段的設計方法。

2.2、通過數據視圖查看查詢結果,并保存查詢各部門年工資支出總計查詢。結果如下圖:

3、創建一總計查詢產品利潤總計查詢。

以產品、訂單、訂單明細表為數據源,創建產品利潤總計查詢,統計每種產品的利潤。結果顯示產品名稱和利潤字段,利潤=sum([訂單明細]![數量]*[訂單明細]![單價]*[訂單明細]![折扣]-[產品]![單價])。

查詢設計分析:

(1)數據源為:產品、訂單、訂單明細表。

(2)查詢無篩選條。

(3)要顯示的字段為:產品名稱、利潤。顯然利潤字段必須通過計算才能得到。

(4)利潤字段:任何一種產品顯然都可以接受很多訂單,而每一份訂單則說明了本次該產品的相關銷售信息,要統計產品利潤,必須統計該產品的所有訂單的銷售信息。題目中[訂單明細]![數量]*[訂單明細]![單價]*[訂單明細]![折扣]-[產品]![單價]表達式得到的結果僅為一份訂單的利潤,對此求和sum,則獲得該產品的總利潤。

(5)分組字段選擇:產品名稱。

在設計視圖設計(如下圖):

(1)在數據源區添加 產品、訂單、訂單明細表。

(2)點擊工具欄上方的總計按鈕,從而在設計網格中顯示總計行。

(3)將所需的字段添加到字段行,并在字段的總計行選擇合適的選項。

3.1、設計查詢,如下圖:

這里一定要注意分析利潤字段的設計方法。

3.2、通過數據視圖查看查詢結果,并保存查詢產品利潤總計查詢。結果如下圖:

本節通過三個非常典型的總計查詢向同學們介紹了總計查詢的基本設計方法。上述三個示例,不僅設計到對單一字段進行統計,也涉及到了對計算字段進行統計,還涉及到了在總計查詢中使用條件。請同學們務必掌握、理解上述設計過程,才能有效的應對任何相類似查詢的設計。

操作圖解系列待續,如需快速了解詳情,請參考鐘老師課堂。

轉載注明出處:華峰博客網

內容版權聲明:除非注明,否則皆為本站原創文章。