access數(shù)據(jù)庫(kù)(關(guān)于access數(shù)據(jù)庫(kù)的基本詳情介紹)

操作要求:

在利用ACCESS數(shù)據(jù)庫(kù)教學(xué)管理鐘老師課堂.accdb中數(shù)據(jù)表,完成如下查詢。

1、創(chuàng)建一總計(jì)查詢學(xué)生合格門(mén)數(shù)-所獲學(xué)分-總計(jì)查詢。以學(xué)生、課程、選課成績(jī)?yōu)閿?shù)據(jù)源,創(chuàng)建一總計(jì)查詢學(xué)生合格門(mén)數(shù)-所獲學(xué)分-總計(jì)查詢,結(jié)果要求顯示學(xué)生編號(hào)、學(xué)生姓名、合格課程門(mén)數(shù)、總獲學(xué)分字段。這里需要注意的是,合格課程是指成績(jī)>=60分的課程。

2、創(chuàng)建一總計(jì)查詢各部門(mén)年工資支出總計(jì)查詢。以部門(mén)人員、部門(mén)信息和工資表為數(shù)據(jù)源,創(chuàng)建各部門(mén)年工資支出總計(jì)查詢,統(tǒng)計(jì)各部門(mén)每年的工資支出。結(jié)果顯示部門(mén)名稱和各部門(mén)工資年支出字段,各部門(mén)工資年支出=([工資]![基本工資]+[ 工資]![獎(jiǎng)金]+[ 工資]![津貼]+[工資]![保險(xiǎn)])*12

3、創(chuàng)建一總計(jì)查詢產(chǎn)品利潤(rùn)總計(jì)查詢。以產(chǎn)品、訂單和訂單明細(xì)表為數(shù)據(jù)源,創(chuàng)建產(chǎn)品利潤(rùn)總計(jì)查詢,統(tǒng)計(jì)每種產(chǎn)品的利潤(rùn)。結(jié)果顯示產(chǎn)品名稱和利潤(rùn)字段,利潤(rùn)=sum([訂單明細(xì)]![數(shù)量]*[訂單明細(xì)]![單價(jià)]*[訂單明細(xì)]![折扣]-[產(chǎn)品]![單價(jià)])

知識(shí)要點(diǎn):

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

2、總計(jì)項(xiàng)及其含義

3、總計(jì)查詢?cè)O(shè)計(jì)要點(diǎn)

知識(shí)點(diǎn)說(shuō)明:

1、總計(jì)(分組)查詢:

在實(shí)際應(yīng)用中,用戶可能不僅要統(tǒng)計(jì)某個(gè)字段中的所有值,而且還需要把記錄分組,對(duì)每個(gè)組的值進(jìn)行統(tǒng)計(jì)。例如將所有同學(xué)按性別男和女分組,分別統(tǒng)計(jì)男同學(xué)人數(shù)和女同學(xué)人數(shù)。

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

在SQL語(yǔ)句中,分組用Group By子句完成。在ACCESS總,系統(tǒng)專門(mén)提供了設(shè)計(jì)分組的設(shè)計(jì)網(wǎng)格。

2、總計(jì)項(xiàng)及其含義:

當(dāng)進(jìn)行總計(jì)查詢?cè)O(shè)計(jì)時(shí),必須指定查詢中每一字段的用途,在ACCESS有下列選擇可供選擇。

3、總計(jì)查詢?cè)O(shè)計(jì)要點(diǎn):

(1)確定是否采用總計(jì)查詢(難點(diǎn)):什么時(shí)候使用分組,是同學(xué)們遇到的一個(gè)難點(diǎn)。當(dāng)要求統(tǒng)計(jì)的數(shù)據(jù),不是來(lái)自一條記錄,而是來(lái)自分組后的多條記錄中某一字段的數(shù)據(jù)時(shí),就必須采用總計(jì)查詢來(lái)完成。如求男同學(xué)和女同學(xué)各有多少人的問(wèn)題。

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

(3)確定計(jì)算字段:總計(jì)查詢結(jié)果中,要顯示通過(guò)統(tǒng)計(jì)而得到的值,這些列在原表中是沒(méi)有的,稱為計(jì)算字段。比如求總和、平均值等等。必須明確是在哪個(gè)字段上進(jìn)行統(tǒng)計(jì)。這里十分值得一提的是,對(duì)于計(jì)數(shù)選項(xiàng),必須選擇無(wú)重復(fù)值、沒(méi)有null值的字段來(lái)進(jìn)行,否則會(huì)使計(jì)數(shù)個(gè)數(shù)減少。如上面求男同學(xué)和女同學(xué)各有多少人,需要對(duì)學(xué)生編號(hào)字段進(jìn)行計(jì)數(shù),學(xué)生編號(hào)是不可能重復(fù)的。

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

上述知識(shí)點(diǎn)與分析,同學(xué)們?cè)谙旅娴脑O(shè)計(jì)中注意理解,學(xué)會(huì)應(yīng)用。

1、創(chuàng)建學(xué)生合格門(mén)數(shù)-所獲學(xué)分-總計(jì)查詢。

以學(xué)生、課程、選課成績(jī)?yōu)閿?shù)據(jù)源,創(chuàng)建一總計(jì)查詢學(xué)生合格門(mén)數(shù)-所獲學(xué)分-總計(jì)查詢,結(jié)果要求顯示學(xué)生編號(hào)、姓名、合格課程門(mén)數(shù)、總獲學(xué)分字段。這里需要注意的是,合格課程是指成績(jī)>=60分的課程。(演示總計(jì)查詢?cè)O(shè)計(jì)過(guò)程)

查詢?cè)O(shè)計(jì)分析:

(1)數(shù)據(jù)源為學(xué)生、課程、選課成績(jī)表表。

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

(3)要顯示的字段為:學(xué)生編號(hào)、姓名、合格課程門(mén)數(shù)、總獲學(xué)分。這里應(yīng)注意,合格課程門(mén)數(shù)、總獲學(xué)分這兩個(gè)字段是在數(shù)據(jù)源的三個(gè)表中所沒(méi)有的,是通過(guò)統(tǒng)計(jì)而得到的,即計(jì)算字段。

(4)合格課程門(mén)數(shù):應(yīng)該是一名同學(xué)所選修課程(這里要求分?jǐn)?shù)>=60)的課程編號(hào)個(gè)數(shù)總和。當(dāng)然也可以統(tǒng)計(jì)課程名稱個(gè)數(shù),但我們注意到,課程名稱可能是重復(fù)的。如大學(xué)英語(yǔ),有幾個(gè)學(xué)期的不同課程,其每個(gè)學(xué)期都作為一門(mén)課計(jì)算,但是其每學(xué)期的課程編號(hào)是不相同的。

(5)總獲學(xué)分:應(yīng)該是對(duì)一名同學(xué)所通過(guò)課程所對(duì)應(yīng)的學(xué)分進(jìn)行求和。

(6)分組字段選擇:由于每一名同學(xué)都有一個(gè)合格課程門(mén)數(shù)、一個(gè)總獲學(xué)生,顯然這里的分組字段應(yīng)該由學(xué)生編號(hào)來(lái)完成,應(yīng)為只有學(xué)生編號(hào)是不會(huì)重復(fù)卻又能唯一標(biāo)識(shí)一名學(xué)生的字段。

在設(shè)計(jì)視圖設(shè)計(jì)(如下圖):

(1)在數(shù)據(jù)源區(qū)添加學(xué)生、課程、選課成績(jī)表表。

(2)點(diǎn)擊工具欄上方的總計(jì)按鈕,從而在設(shè)計(jì)網(wǎng)格中顯示總計(jì)行。

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

1.1、首先像常規(guī)查詢?cè)O(shè)計(jì)一樣,打開(kāi)查詢的設(shè)計(jì)視圖,并添加所需的數(shù)據(jù)源。如果數(shù)據(jù)源由多個(gè)表構(gòu)成,一般要先在基本表中將關(guān)系建好。如下圖

1.2、點(diǎn)擊工具欄上的總計(jì)按鈕,參加下圖

1.3、選擇總計(jì)按鈕后,在查詢視圖的設(shè)計(jì)網(wǎng)格中出如下圖的總計(jì)行。以便進(jìn)行總計(jì)查詢?cè)O(shè)計(jì)

1.4、按照上面分析,向字段行中加入所需字段。當(dāng)我們直接添加字段時(shí),字段的總計(jì)行默認(rèn)情況的選項(xiàng)為分組。如下圖所示

1.5、根據(jù)各字段在題目中的要求,選擇其適當(dāng)?shù)倪x擇。如下圖:

說(shuō)明1:分組字段為學(xué)生編號(hào)和姓名。從分析中可知,分組只需要學(xué)生編號(hào)即可,這里為什么要加入姓名字段?原因是題目中要求顯示學(xué)生姓名,而總計(jì)查詢中,只有分組字段、計(jì)算字段能夠顯示在結(jié)果中,這里姓名字段顯然不可能用于計(jì)算,因此只能選擇分組選項(xiàng)。同時(shí)我們也注意到,任何一個(gè)學(xué)生編號(hào)顯然對(duì)應(yīng)了一個(gè)學(xué)生姓名,故此處先以學(xué)生編號(hào)分組后,再以姓名分組,并無(wú)影響。

說(shuō)明2:作為條件選項(xiàng)的字段其顯示行不能打勾,不然要出現(xiàn)錯(cuò)誤提示,查詢不能保存。如下圖中的成績(jī)字段

1.6、查看數(shù)據(jù)視圖后,上面查詢結(jié)果如下圖所示。我們注意到:課程編號(hào)之計(jì)數(shù)和學(xué)分之總計(jì)不滿足題目要求的合格課程門(mén)數(shù)、總獲學(xué)分,且成績(jī)字段未顯示。

1.7、對(duì)字段進(jìn)行重命名,如下圖:

1.8、查看結(jié)果,并保存查詢,完成設(shè)計(jì)。如下圖:

2、創(chuàng)建一總計(jì)查詢各部門(mén)年工資支出總計(jì)查詢。

以部門(mén)人員、部門(mén)信息、工資表為數(shù)據(jù)源,創(chuàng)建各部門(mén)年工資支出總計(jì)查詢,統(tǒng)計(jì)各部門(mén)每年的工資支出。結(jié)果顯示部門(mén)名稱和各部門(mén)工資年支出字段,各部門(mén)工資年支出=([工資]![基本工資]+[ 工資]![獎(jiǎng)金]+[ 工資]![津貼]+[工資]![保險(xiǎn)])*12

查詢?cè)O(shè)計(jì)分析:

(1)數(shù)據(jù)源為:部門(mén)人員、部門(mén)信息、工資表。

(2)查詢無(wú)篩選條。

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

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

(5)分組字段選擇:部門(mén)名稱。因?yàn)榘床块T(mén)分組,同時(shí)又要在結(jié)果中顯示 部門(mén)名稱。

在設(shè)計(jì)視圖設(shè)計(jì)(如下圖):

(1)在數(shù)據(jù)源區(qū)添加 部門(mén)人員、部門(mén)信息、工資表。

(2)點(diǎn)擊工具欄上方的總計(jì)按鈕,從而在設(shè)計(jì)網(wǎng)格中顯示總計(jì)行。

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

2.1、設(shè)計(jì)查詢,如下圖:

這里一定要注意分析各部門(mén)工資年支出字段的設(shè)計(jì)方法。

2.2、通過(guò)數(shù)據(jù)視圖查看查詢結(jié)果,并保存查詢各部門(mén)年工資支出總計(jì)查詢。結(jié)果如下圖:

3、創(chuàng)建一總計(jì)查詢產(chǎn)品利潤(rùn)總計(jì)查詢。

以產(chǎn)品、訂單、訂單明細(xì)表為數(shù)據(jù)源,創(chuàng)建產(chǎn)品利潤(rùn)總計(jì)查詢,統(tǒng)計(jì)每種產(chǎn)品的利潤(rùn)。結(jié)果顯示產(chǎn)品名稱和利潤(rùn)字段,利潤(rùn)=sum([訂單明細(xì)]![數(shù)量]*[訂單明細(xì)]![單價(jià)]*[訂單明細(xì)]![折扣]-[產(chǎn)品]![單價(jià)])。

查詢?cè)O(shè)計(jì)分析:

(1)數(shù)據(jù)源為:產(chǎn)品、訂單、訂單明細(xì)表。

(2)查詢無(wú)篩選條。

(3)要顯示的字段為:產(chǎn)品名稱、利潤(rùn)。顯然利潤(rùn)字段必須通過(guò)計(jì)算才能得到。

(4)利潤(rùn)字段:任何一種產(chǎn)品顯然都可以接受很多訂單,而每一份訂單則說(shuō)明了本次該產(chǎn)品的相關(guān)銷售信息,要統(tǒng)計(jì)產(chǎn)品利潤(rùn),必須統(tǒng)計(jì)該產(chǎn)品的所有訂單的銷售信息。題目中[訂單明細(xì)]![數(shù)量]*[訂單明細(xì)]![單價(jià)]*[訂單明細(xì)]![折扣]-[產(chǎn)品]![單價(jià)]表達(dá)式得到的結(jié)果僅為一份訂單的利潤(rùn),對(duì)此求和sum,則獲得該產(chǎn)品的總利潤(rùn)。

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

在設(shè)計(jì)視圖設(shè)計(jì)(如下圖):

(1)在數(shù)據(jù)源區(qū)添加 產(chǎn)品、訂單、訂單明細(xì)表。

(2)點(diǎn)擊工具欄上方的總計(jì)按鈕,從而在設(shè)計(jì)網(wǎng)格中顯示總計(jì)行。

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

3.1、設(shè)計(jì)查詢,如下圖:

這里一定要注意分析利潤(rùn)字段的設(shè)計(jì)方法。

3.2、通過(guò)數(shù)據(jù)視圖查看查詢結(jié)果,并保存查詢產(chǎn)品利潤(rùn)總計(jì)查詢。結(jié)果如下圖:

本節(jié)通過(guò)三個(gè)非常典型的總計(jì)查詢向同學(xué)們介紹了總計(jì)查詢的基本設(shè)計(jì)方法。上述三個(gè)示例,不僅設(shè)計(jì)到對(duì)單一字段進(jìn)行統(tǒng)計(jì),也涉及到了對(duì)計(jì)算字段進(jìn)行統(tǒng)計(jì),還涉及到了在總計(jì)查詢中使用條件。請(qǐng)同學(xué)們務(wù)必掌握、理解上述設(shè)計(jì)過(guò)程,才能有效的應(yīng)對(duì)任何相類似查詢的設(shè)計(jì)。

操作圖解系列待續(xù),如需快速了解詳情,請(qǐng)參考鐘老師課堂。

轉(zhuǎn)載注明出處:華峰博客網(wǎng)

內(nèi)容版權(quán)聲明:除非注明,否則皆為本站原創(chuàng)文章。