《管理信息系統(tǒng)設(shè)計(jì)實(shí)踐教程》課件第4章_第1頁
《管理信息系統(tǒng)設(shè)計(jì)實(shí)踐教程》課件第4章_第2頁
《管理信息系統(tǒng)設(shè)計(jì)實(shí)踐教程》課件第4章_第3頁
《管理信息系統(tǒng)設(shè)計(jì)實(shí)踐教程》課件第4章_第4頁
《管理信息系統(tǒng)設(shè)計(jì)實(shí)踐教程》課件第4章_第5頁
已閱讀5頁,還剩119頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

4.1查詢

4.2使用向?qū)?chuàng)建選擇查詢4.3使用查詢設(shè)計(jì)視圖

4.4編輯和修改查詢

4.5參數(shù)查詢

4.6使用查詢執(zhí)行計(jì)算

4.7創(chuàng)建交叉表查詢

4.8創(chuàng)建查找重復(fù)項(xiàng)查詢

4.9使用向?qū)Р檎冶碇g不匹配項(xiàng)的記錄4.10操作查詢

動(dòng)手做實(shí)驗(yàn)第4章

查詢設(shè)計(jì)

4.1查

查詢是數(shù)據(jù)庫處理和分析數(shù)據(jù)的工具。查詢是在指定的(一個(gè)或多個(gè))表中,根據(jù)給定的條件從中篩選所需要的信息,供使用者查看、更改和分析使用。用戶可以使用查詢回答簡單問題、執(zhí)行計(jì)算、合并不同表中的數(shù)據(jù),甚至添加、更改或刪除表中的數(shù)據(jù)。

查詢是Access數(shù)據(jù)庫的一個(gè)重要對(duì)象,通過查詢篩選出符合條件的記錄,構(gòu)成一個(gè)新的數(shù)據(jù)集合。盡管從查詢的運(yùn)行視圖上看到的數(shù)據(jù)集合形式與從表視圖上看到的數(shù)據(jù)集合的形式完全一樣,但是這個(gè)數(shù)據(jù)集合與表不同,它并不是數(shù)據(jù)的物理集合,而是動(dòng)態(tài)數(shù)據(jù)的集合。實(shí)質(zhì)上,查詢中所存放的是如何取得數(shù)據(jù)的方法和定義,因此說查詢是操作的集合,相當(dāng)于程序。

1.查詢的功能

概括地說,查詢具有如下功能:

(1)查看、搜索和分析數(shù)據(jù)。

(2)追加、更改和刪除數(shù)據(jù)。

(3)實(shí)現(xiàn)記錄的篩選、排序、匯總和計(jì)算。

(4)作為報(bào)表和窗體的數(shù)據(jù)源。

(5)對(duì)一個(gè)和多個(gè)表中獲取的數(shù)據(jù)實(shí)現(xiàn)連接。

2.查詢的類別

在Access中,根據(jù)對(duì)數(shù)據(jù)源操作方式和操作結(jié)果的不同,可以把查詢分為五種,它們是選擇查詢、參數(shù)查詢、交叉表查詢、操作查詢和SQL查詢。

1)選擇查詢

選擇查詢是最常用的,也是最基本的查詢。它是根據(jù)指定的查詢條件,從一個(gè)或多個(gè)表中獲取數(shù)據(jù)并顯示結(jié)果。使用選擇查詢還可以對(duì)記錄進(jìn)行分組,并且對(duì)記錄作總計(jì)、計(jì)數(shù)、平均值以及其他類型的總和計(jì)算。

2)參數(shù)查詢

參數(shù)查詢是一種交互式查詢,它利用對(duì)話框來提示用戶輸入查詢條件,然后根據(jù)所輸入的條件檢索記錄。將參數(shù)查詢作為窗體和報(bào)表的數(shù)據(jù)源,可以方便地顯示和打印所需要的信息。

3)交叉表查詢

使用交叉表查詢可以計(jì)算并重新組織數(shù)據(jù)的結(jié)構(gòu),這樣可以更加方便地分析數(shù)據(jù)。交叉表查詢可以計(jì)算數(shù)據(jù)的總計(jì)、平均值、計(jì)數(shù)或其他類型的總和。

4)操作查詢

操作查詢用于添加、更改或刪除數(shù)據(jù)。操作查詢共有四種類型:刪除、更新、追加與生成表。

(1)刪除查詢。刪除查詢可以從一個(gè)或多個(gè)表中刪除一組記錄。

(2)更新查詢。更新查詢可對(duì)一個(gè)或多個(gè)表中的一組記錄進(jìn)行全部更改。使用更新查詢可以更改現(xiàn)有表中的數(shù)據(jù)。

(3)追加查詢。追加查詢可將一個(gè)或多個(gè)表中的一組記錄追加到一個(gè)或多個(gè)表的末尾。

(4)生成表查詢。生成表查詢利用一個(gè)或多個(gè)表中的全部或部分?jǐn)?shù)據(jù)創(chuàng)建新表,例如,在教學(xué)管理中,生成表查詢用來生成成績不及格的學(xué)生的信息表。

5)

SQL查詢

SQL(結(jié)構(gòu)化查詢語言)查詢是指使用SQL語句創(chuàng)建的查詢。有一些特定的SQL查詢無法使用查詢設(shè)計(jì)視圖進(jìn)行創(chuàng)建,而必須使用SQL語句創(chuàng)建。這類查詢主要有三種類型:傳遞查詢、數(shù)據(jù)定義查詢、聯(lián)合查詢。

4.2使用向?qū)?chuàng)建選擇查詢

在使用數(shù)據(jù)庫時(shí),有時(shí)可能希望查看表中的所有數(shù)據(jù),但有時(shí)可能只希望查看某些字段列中的數(shù)據(jù),或者只希望在某些字段列滿足某些條件時(shí)查看數(shù)據(jù)。為此,可使用選擇查詢。創(chuàng)建選擇查詢有兩種方法:使用查詢向?qū)Ш驮谠O(shè)計(jì)視圖中創(chuàng)建查詢。使用查詢向?qū)且环N最簡單的創(chuàng)建查詢的方法。

1.從單個(gè)表中查詢所需的信息

【例4.1】從“教師”表中查找“姓名”、“性別”、“職稱”和“系別”等信息。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫中的“教師”表,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“級(jí)”(查詢向?qū)?命令。

(2)在打開的“新建查詢”對(duì)話框中選擇“簡單查詢向?qū)А边x項(xiàng),然后單擊“確定”按鈕,如圖4.1所示。

圖4.1“新建查詢”對(duì)話框(3)如圖4.2所示,在打開的“請(qǐng)確定查詢中使用哪些字段”對(duì)話框的“表/查詢”列表框中選擇要使用的“表:教師”;在“可用字段”窗格中選中“姓名”,單擊

按鈕,把它發(fā)送到“選定字段”窗格中;用同樣的方法,依次選中“性別”、“職稱”和“系別”字段,把它們發(fā)送到“選定字段”窗格中,然后單擊“下一步”按鈕。

圖4.2“請(qǐng)確定查詢中使用哪些字段”對(duì)話框(4)在打開的“請(qǐng)為查詢指定標(biāo)題”對(duì)話框中,使用默認(rèn)標(biāo)題“教師查詢”或者自行輸入標(biāo)題。使用默認(rèn)設(shè)置“打開查詢查看信息”,單擊“完成”按鈕,如圖4.3所示。關(guān)閉查詢向?qū)?duì)話框后,在打開查詢的數(shù)據(jù)表視圖中即可看到查詢結(jié)果。

圖4.3“請(qǐng)為查詢指定標(biāo)題”對(duì)話框2.從多個(gè)表中查詢所需要的數(shù)據(jù)

【例4.2】從“學(xué)生”表、“選課”表和“課程”表中查詢學(xué)生選課的具體信息,包括“學(xué)號(hào)”、“姓名”和“課程名”等字段。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢向?qū)А泵睢?/p>

(2)在打開的“新建查詢”對(duì)話框中選擇“簡單查詢向?qū)А边x項(xiàng),然后單擊“確定”按鈕,參見圖4.1。

(3)如圖4.4所示,在打開的“請(qǐng)確定查詢中使用哪些字段”對(duì)話框的“表/查詢”列表框中選擇“表:課程”;在“可用字段”窗格中雙擊“學(xué)號(hào)”字段,該字段被發(fā)送到“選定字段”窗格中;分別選擇“學(xué)生”表和“課程”表,把兩個(gè)表中的“姓名”字段和“課程名”字段發(fā)送到“選定字段”窗格中,然后單擊“下一步”按鈕。

圖4.4“請(qǐng)確定查詢中使用哪些字段”對(duì)話框(4)在打開的“請(qǐng)為查詢指定標(biāo)題”對(duì)話框中,設(shè)置標(biāo)題為“選課查詢”,然后單擊“完成”按鈕,如圖4.5所示。查詢結(jié)果如圖4.6所示。

圖4.5“請(qǐng)為查詢指定標(biāo)題”對(duì)話框圖4.6學(xué)生選課查詢結(jié)果

初學(xué)者感到困惑的是,既然教學(xué)管理數(shù)據(jù)庫中已經(jīng)有了“選課”表,為什么還需要?jiǎng)?chuàng)建“選課”查詢?請(qǐng)讀者打開選課表和選課查詢比較一下,就會(huì)發(fā)現(xiàn)選課表中顯示的是課程號(hào)和學(xué)號(hào),這樣瀏覽起來不直觀。而通過選課查詢把三個(gè)表中相關(guān)字段的數(shù)據(jù)重新組織起來,用課程名稱代替課程號(hào),并增加了姓名字段,這樣瀏覽數(shù)據(jù)就非常直觀了。這也體現(xiàn)了Access中查詢的作用,而使用篩選是無法實(shí)現(xiàn)的。

4.3使用查詢設(shè)計(jì)視圖

查詢設(shè)計(jì)視圖是創(chuàng)建、編輯和修改查詢的基本工具。

使用查詢向?qū)щm然可以快速地創(chuàng)建查詢,但是對(duì)于創(chuàng)建指定條件的查詢、創(chuàng)建參數(shù)查詢和創(chuàng)建復(fù)雜的查詢,查詢向?qū)Ь筒荒芡耆珓偃瘟?。這種情況下,可以使用查詢設(shè)計(jì)視圖直接創(chuàng)建查詢,或者使用查詢向?qū)?chuàng)建查詢后,在設(shè)計(jì)視圖中根據(jù)需要進(jìn)行修改。1.查詢設(shè)計(jì)視圖的基本結(jié)構(gòu)

查詢設(shè)計(jì)視圖主要由兩部分構(gòu)成,上半部為“對(duì)象”窗格,下半部為查詢設(shè)計(jì)網(wǎng)格,如圖4.7所示。“對(duì)象”窗格中,放置查詢所需要的數(shù)據(jù)源表和查詢。查詢設(shè)計(jì)網(wǎng)格由若干行組成,其中有“字段”、“表”、“排序”、“顯示”、“條件”、“或”以及若干“空行”。

(1)字段行:放置查詢需要的字段和用戶自定義的計(jì)算字段。

(2)表行:放置字段行的字段來源的表或查詢。

(3)排序行:對(duì)查詢進(jìn)行排序,有“降序”、“升序”和“不排序”三種選擇。在記錄很多的情況下,對(duì)某一列數(shù)據(jù)進(jìn)行排序?qū)⒎奖銛?shù)據(jù)的查詢。如果不選擇排序,則查詢運(yùn)行時(shí)按照表中記錄的順序顯示。

(4)顯示行:決定字段是否在查詢結(jié)果中顯示。在各個(gè)列中,有已經(jīng)“勾選”了的復(fù)選框。默認(rèn)情況下所有字段都將顯示出來,如果不想顯示某個(gè)字段,但又需要它參與運(yùn)算,則可取消勾選復(fù)選框。

(5)條件行:放置所指定的查詢條件。

(6)或行:放置邏輯上存在或關(guān)系的查詢條件。

(7)空行:放置更多的查詢條件。

注意:對(duì)于不同類型的查詢,查詢設(shè)計(jì)網(wǎng)格行所包含的項(xiàng)目會(huì)有所不同。圖4.7查詢設(shè)計(jì)視圖2.使用“設(shè)計(jì)視圖”創(chuàng)建查詢

下面介紹如何使用查詢設(shè)計(jì)視圖創(chuàng)建指定條件的查詢。

【例4.3】在“教學(xué)管理”數(shù)據(jù)庫中查詢期末考試成績?yōu)閮?yōu)秀的學(xué)生的信息,包括“學(xué)號(hào)”、“姓名”、“課程”和“成績”字段。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢設(shè)計(jì)”按鈕,打開查詢設(shè)計(jì)視圖窗口,如圖4.8所示。

圖4.8查詢設(shè)計(jì)視圖窗口(2)在“顯示表”對(duì)話框中,按住Ctrl鍵不放,依次單擊“學(xué)生”、“課程”和“成績”表,然后單擊“添加”按鈕,把這三個(gè)表添加到設(shè)計(jì)網(wǎng)格上部的“對(duì)象”窗格中。添加后,在這些表之間自動(dòng)顯示出它們之間的“關(guān)系”。單擊“關(guān)閉”按鈕,關(guān)閉“顯示表”對(duì)話框。

(3)在“學(xué)生”表中選中“學(xué)號(hào)”、“姓名”字段,然后將其拖曳到設(shè)計(jì)網(wǎng)格中。用同樣的方法把“課程”表中的“課程名”字段和“成績”表中的“期末成績”字段添加到設(shè)計(jì)網(wǎng)格中。

(4)在設(shè)計(jì)網(wǎng)格的“期末成績”列的“條件”行的單元格中,輸入條件“>=90”,如圖4.9所示。

圖4.9添加表、字段和輸入條件后的設(shè)計(jì)視圖(5)在“設(shè)計(jì)”選項(xiàng)卡的“結(jié)果”組中單擊“或”按鈕,打開“查詢視圖”窗口,顯示查詢結(jié)果,如圖4.10所示。

圖4.10成績優(yōu)秀學(xué)生的查詢結(jié)果(6)在快捷工具欄上,單擊“保存”按鈕,打開“另存為”對(duì)話框,輸入查詢名稱“成績優(yōu)秀的學(xué)生”,單擊“確定”按鈕,如圖4.11所示。

圖4.11“另存為”對(duì)話框

上例說明在多表查詢時(shí),表與表之間必須保證建立連接關(guān)系。若沒有建立關(guān)系,多表查詢將會(huì)造成出現(xiàn)多條重復(fù)記錄的混亂。表與表間的連接如果已經(jīng)在創(chuàng)建表完成后設(shè)置好了,那么這些關(guān)系將被自動(dòng)帶到查詢設(shè)計(jì)視圖中。如果表之間不存在關(guān)系,則必須在查詢設(shè)計(jì)視圖中指定,這個(gè)臨時(shí)指定的關(guān)系只是在本查詢中有效。指定關(guān)系的方法與前面介紹的創(chuàng)建表之間關(guān)系的方法相同。

3.查詢條件

如果希望根據(jù)字段中的值來限制查詢結(jié)果,可以使用查詢條件。查詢條件是一個(gè)表達(dá)式,Access將它與查詢字段值進(jìn)行比較以顯示滿足條件的字段值的所有記錄。

1)單個(gè)查詢條件的表示

對(duì)于單個(gè)表達(dá)式的表達(dá),條件兩端的引號(hào)不必輸入,根據(jù)需要系統(tǒng)會(huì)自動(dòng)添加。如果是人工輸入引號(hào),必須使用英文雙引號(hào)。2)查詢表達(dá)式示例

下面是對(duì)“員工ID”字段設(shè)置的查詢條件,如圖4.12所示。

圖4.12基于字段的查詢3)查詢表達(dá)式中的邏輯關(guān)系

在查詢中若有多個(gè)查詢條件表達(dá)式,假如它們放在查詢設(shè)計(jì)網(wǎng)格的同一行中,則不同字段列中所添加的表達(dá)式之間是一種“與”關(guān)系,即必須同時(shí)滿足所有條件;若它們放在不同行中,同一字段列或不同字段列中所添加的表達(dá)式之間則是“或”關(guān)系,即不要求同時(shí)滿足所有條件。這種用行的位置所表示的邏輯關(guān)系也可以在一個(gè)單元格中用邏輯表達(dá)式來表達(dá)。

【例4.4】在“教師”表中查詢“具有碩士學(xué)歷的女教師”(這是兩個(gè)以上的條件,滿足“與”關(guān)系),如圖4.13所示。

圖4.13兩個(gè)以上的條件的“與”關(guān)系

【例4.5】查找職稱為“副教授”以上的教師,應(yīng)該包括副教授和教授(也是兩個(gè)以上的條件,滿足“或”關(guān)系),如圖4.14所示。

圖4.14兩個(gè)以上的條件的“或”關(guān)系

4.4編輯和修改查詢

在查詢創(chuàng)建完成后,經(jīng)過運(yùn)行如果沒有獲得所需要的結(jié)果,那么需要修改查詢。修改查詢的工作在查詢設(shè)計(jì)視圖中進(jìn)行。

1.添加字段

把表(或查詢)中的字段添加到設(shè)計(jì)網(wǎng)格中,既可以使用雙擊表(或查詢)中字段的方法,也可以使用拖曳的方法,即選中表中的字段后,按住鼠標(biāo)左鍵不松手,拖曳字段到設(shè)計(jì)網(wǎng)格的列中。

選取多個(gè)字段的方法如下:

按住Ctrl鍵的同時(shí)單擊字段名,則可以選擇多個(gè)字段。若要選取連續(xù)的多個(gè)字段,單擊第一個(gè)字段后按住Shift鍵,然后再單擊最后一個(gè)字段。

添加到“對(duì)象”窗格中的每一個(gè)表,都顯示該表所包含的所有字段(如果沒有顯示所有字段,則只要向下拖動(dòng)滑動(dòng)條,就可以顯示其他字段)。

技巧:如果要把一個(gè)表的多個(gè)字段添加到設(shè)計(jì)網(wǎng)格中,首先選中所需要的多個(gè)字段,然后采用拖曳的方法,一次可以把多個(gè)字段添加到設(shè)計(jì)網(wǎng)格中。

2.刪除字段

若想把添加到設(shè)計(jì)網(wǎng)格中的字段刪除掉,操作步驟如下:

(1)在查詢設(shè)計(jì)網(wǎng)格中,把光標(biāo)放置在字段列上方,變?yōu)椤凹^”形狀光標(biāo),如圖4.15所示。圖4.15字段列上方出現(xiàn)“箭頭”形狀(2)單擊鼠標(biāo),字段列反白(黑底白字),如圖4.16所示。按Delete鍵刪除字段。

圖4.16字段列反白3.插入字段

如果需要在某個(gè)字段列(例如第2列)前插入字段,首先選中要插入的字段,然后把該字段拖曳到要插入的(第2個(gè))字段列處,即插入的字段列放置在要插入(第2列)的位置處,原來位置處的字段則依次向后移動(dòng)一列。

4.移動(dòng)字段

如果需要調(diào)整某字段列的位置,只要選中該字段列,然后把它拖曳到相應(yīng)位置處,放開鼠標(biāo)即可。5.查詢中的排序

在建立查詢時(shí),還可以根據(jù)需要設(shè)置按某個(gè)字段排序顯示,操作方法如下:單擊需要排序字段設(shè)計(jì)網(wǎng)格中的下拉列表框,從中選擇“升序”或“降序”,如圖4.17所示。圖4.17在排序下拉列表框中選中升序6.重新打開“顯示表”對(duì)話框

在編輯查詢時(shí),如果需要添加表,而又關(guān)閉了“顯示表”對(duì)話框,只需要在設(shè)計(jì)視圖的“對(duì)象”窗格中右擊鼠標(biāo),在打開的快捷菜單中單擊“顯示表”命令,就可以重新打開“顯示表”對(duì)話框,如圖4.18所示。或者在“查詢工具”的“設(shè)計(jì)”選項(xiàng)卡的“查詢設(shè)置”組中單擊“顯示表”命令,如圖4.19所示。圖4.18包括顯示表的快捷菜單圖4.19“查詢設(shè)置”組7.重命名字段

在查詢設(shè)計(jì)視圖中,Access2010允許用戶重新命名字段的標(biāo)題。在通常的情況下,查詢將自動(dòng)繼承在表設(shè)計(jì)視圖中定義的標(biāo)題屬性。如果在表中所定義的標(biāo)題屬性不能滿足需要,那么可以重新命名字段標(biāo)題。

重新命名字段標(biāo)題有兩種方法:一種是利用“字段屬性”對(duì)話框;另一種是在“字段”行的單元格中直接命名字段標(biāo)題。

【例4.6】在“教師”查詢中把“職稱”標(biāo)題命名為“教師職稱”。操作步驟如下:

(1)打開“教師”查詢,然后把它切換到設(shè)計(jì)視圖。

把光標(biāo)定位在“職稱”標(biāo)題單元格中,輸入“教師職稱”。

注意:字段標(biāo)題和字段名稱之間一定要用冒號(hào)(英文)分隔,如圖4.20所示圖4.20直接將職稱字段命名為教師職稱

或者把光標(biāo)定位在“職稱”字段的單元格中,右擊鼠標(biāo),在打開的快捷菜單中單擊“屬性”命令,打開“屬性表”對(duì)話框,在“標(biāo)題”欄中輸入“教師職稱”,如圖4.21所示。

圖4.21字段屬性對(duì)話框(2)單擊右下角“數(shù)據(jù)表”視圖按鈕,可以看到查詢結(jié)果中“職稱”字段的標(biāo)題已經(jīng)更改為“教師職稱”,如圖4.22所示。

圖4.22字段標(biāo)題更改后的結(jié)果

在查詢中,常常以表達(dá)式的運(yùn)算結(jié)果創(chuàng)建一個(gè)新字段。使用表達(dá)式生成器創(chuàng)建這個(gè)表達(dá)式和新字段時(shí),其形式如圖4.23所示。

圖4.23表達(dá)式及其新字段

新字段默認(rèn)名稱為“表達(dá)式1”,顯然這個(gè)含義不清的名稱無法讓人滿意,可以在表達(dá)式生成器中把字段名稱修改為含義清晰的名稱,例如“總額”,修改后的結(jié)果如圖4.24所示。

圖4.24修改字段名稱后的結(jié)果

4.5參數(shù)查詢

前面介紹的查詢所包含的條件都是固定的常數(shù),然而條件固定的常數(shù)并不能滿足實(shí)際工作的需要。在實(shí)際使用中,很多情況下要求靈活地輸入查詢的條件。在這種情況下就需要使用參數(shù)查詢了。進(jìn)行參數(shù)查詢時(shí),需要在查詢運(yùn)行時(shí)靈活輸入指定的

參數(shù)查詢利用對(duì)話框提示輸入?yún)?shù),輸入?yún)?shù)之后系統(tǒng)自動(dòng)檢索符合所輸入?yún)?shù)的記錄。參數(shù)查詢在使用中,可以建立單參數(shù)的查詢,也可以建立多參數(shù)的查詢。條件,即可查詢出滿足條件的信息。1.單參數(shù)查詢

單參數(shù)查詢就是在查詢中指定一個(gè)參數(shù),在執(zhí)行查詢中輸入具體的參數(shù)值。

【例4.7】按學(xué)歷查找教師信息。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“其他”組中單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)”視圖窗口。

(2)在打開的“顯示表”對(duì)話框中選擇“教師”表,并將其拖曳到設(shè)計(jì)網(wǎng)格中,把“學(xué)歷”字段拖曳到第2列,取消“顯示”單元格中的復(fù)選框。(3)在“學(xué)歷”條件中輸入“[請(qǐng)輸入學(xué)歷:]”,如圖4.25所示。

圖4.25參數(shù)查詢設(shè)計(jì)(4)在“設(shè)計(jì)”選項(xiàng)卡的“結(jié)果”組中單擊“運(yùn)行”按鈕,彈出“輸入?yún)?shù)值”對(duì)話框,如圖4.26所示。

圖4.26輸入?yún)?shù)值(5)輸入要查找的學(xué)歷,例如“碩士”,然后單擊“確定”按鈕,查詢結(jié)果如圖4.27所示。

圖4.27參數(shù)查詢結(jié)2.兩個(gè)以上的參數(shù)查詢

兩個(gè)以上的參數(shù)查詢稱為多參數(shù)查詢。它是在作為參數(shù)的多個(gè)字段下的“條件”單元格中輸入?yún)?shù)的條件表達(dá)式,因此稱為多參數(shù)查詢。

【例4.8】按指定的系別和職稱查詢教師信息。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)”視圖窗口。

(2)在打開的“顯示表”對(duì)話框中選擇“教師”表和“系別”表,則這兩個(gè)表被添加到“查詢設(shè)計(jì)”視圖的“對(duì)象”窗格中。然后將“教師”表中的“教師”字段拖曳到設(shè)計(jì)網(wǎng)格中,把“職稱”字段拖曳到第2列,再把“系別”表中的“系別名稱”字段拖曳到第3列,并取消后兩列的“顯示”單元格中的復(fù)選框,如圖4-28所示。

圖4.28多參數(shù)查詢設(shè)計(jì)(3)在“系別名稱”條件中輸入“[請(qǐng)輸入系別:]”,如圖4.29所示;在“職稱”條件中輸入“[請(qǐng)輸入職稱:]”,如圖4.30所示。查詢結(jié)果如圖4.31所示。

圖4.29輸入?yún)?shù)值對(duì)話框(1)圖4.30輸入?yún)?shù)值對(duì)話框(2)圖4.31多參數(shù)查詢結(jié)果

注意:在上述參數(shù)查詢中,“系別名稱”字段并不是從“教師”表獲得的,而是從“系別”表獲得的。這是由于“教師”中的系別字段是查閱字段,該查閱的值從“系別”中獲取。雖然在“教師”表中是以“系別名稱”顯示系別的值,但是在其背后實(shí)質(zhì)是系別ID號(hào)。如果直接從“教師”表獲取“系別名稱”字段,則在輸入?yún)?shù)時(shí),就需要輸入系別的ID號(hào),而輸入系別名稱就無法獲取查詢結(jié)果,這點(diǎn)特別提醒讀者注意。

4.6使用查詢執(zhí)行計(jì)算

雖然在Access2010中可以對(duì)表進(jìn)行匯總,但是這種匯總是臨時(shí)性的,且不能把匯總的結(jié)果保存下來。在實(shí)際應(yīng)用中,有時(shí)還需要進(jìn)行更復(fù)雜的分組匯總,這都需要使用查詢來實(shí)現(xiàn)。在查詢中可以求和、計(jì)數(shù),求最大值、最小值、平均值以及其他更復(fù)雜的計(jì)算。本節(jié)介紹如何在查詢中實(shí)現(xiàn)計(jì)算。

1.查詢中的計(jì)算類型

在查詢中可執(zhí)行多種類型的計(jì)算。例如,可以計(jì)算一個(gè)數(shù)字型字段值的總和或平均值;計(jì)算多個(gè)數(shù)字型字段的值相乘的積;或者計(jì)算從當(dāng)前日期算起三個(gè)月后的日期等。在查詢中執(zhí)行的計(jì)算可分為兩種類型:預(yù)定義計(jì)算和自定義計(jì)算。

1)預(yù)定義計(jì)算

預(yù)定義計(jì)算又稱為“匯總”計(jì)算,是系統(tǒng)提供的用于對(duì)查詢中的一組記錄或全部記錄進(jìn)行的下列計(jì)算:總計(jì)、平均值、最小值、最大值、標(biāo)準(zhǔn)偏差或方差等。為了進(jìn)行總計(jì)計(jì)算,在“設(shè)計(jì)”選項(xiàng)卡的“顯示/隱藏”組中,單擊“總計(jì)”按鈕,則在查詢設(shè)計(jì)網(wǎng)格中增加“總計(jì)”行,在該行的單元格中顯示“GroupBy(分組)”??梢栽凇翱傆?jì)”行的單元格中選擇一種匯總類型進(jìn)行匯總。“總計(jì)”行中共有兩種匯總類型。

2)自定義計(jì)算

自定義計(jì)算中允許自定義計(jì)算表達(dá)式,在表達(dá)式中使用一個(gè)或多個(gè)字段中的數(shù)據(jù),還可以使用函數(shù),對(duì)每個(gè)記錄執(zhí)行數(shù)值、日期和文本計(jì)算。自定義計(jì)算的主要作用是在查詢中創(chuàng)建用于計(jì)算的字段列。

應(yīng)該指出的是,在查詢中進(jìn)行計(jì)算,只是在字段中顯示計(jì)算結(jié)果,實(shí)際結(jié)果并不存儲(chǔ)在表中。如果需要把計(jì)算結(jié)果保存在表中,則使用生成表查詢,生成保存計(jì)算結(jié)果的新表。

2.匯總查詢

在建立查詢時(shí),常需要統(tǒng)計(jì)記錄的數(shù)或?qū)τ涗浿颠M(jìn)行匯總,這就需要使用總計(jì)查詢。

【例4.9】在“教學(xué)管理”數(shù)據(jù)庫中統(tǒng)計(jì)某學(xué)期參加“高等數(shù)學(xué)”考試的學(xué)生人數(shù)。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)”視圖窗口。

(2)在打開的“顯示表”對(duì)話框中雙擊“成績”表和“課程”表,分別把“成績”表的“學(xué)號(hào)”字段和“課程”表的“課程名”字段拖曳到設(shè)計(jì)網(wǎng)格中。

(3)在“設(shè)計(jì)”選項(xiàng)卡的“顯示/隱藏”組中單擊“匯總”按鈕,在“設(shè)計(jì)網(wǎng)格”中插入一個(gè)“總計(jì)”行。

(4)在“課程名”字段列的條件單元格中輸入“高等數(shù)學(xué)”?!翱傆?jì)”行默認(rèn)為“分組”(GroupBy)。單擊“學(xué)號(hào)”字段的“總計(jì)”行單元格中的下拉箭頭列表,選中“計(jì)算”。為了使表示的意義更加明確,在“學(xué)號(hào)”中添加字段標(biāo)題“參加考試人數(shù):”,如圖4.32所示。

圖4.32設(shè)計(jì)學(xué)號(hào)總計(jì)項(xiàng)的計(jì)數(shù)(5)在“設(shè)計(jì)”選項(xiàng)卡的“結(jié)果”組中單擊“運(yùn)行”按鈕,其查詢結(jié)果如圖4.33所示。

從結(jié)果顯示中可以看出參加“高等數(shù)學(xué)”考試的人數(shù)為3人。

圖4.33總計(jì)查詢的統(tǒng)計(jì)結(jié)果

【例4.10】統(tǒng)計(jì)本學(xué)期成績不及格學(xué)生的人數(shù)。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)”視圖窗口。

(2)在打開的“顯示表”對(duì)話框中雙擊“成績”表,并把“學(xué)號(hào)”、“學(xué)期”、“學(xué)年”和“成績”字段拖曳到設(shè)計(jì)網(wǎng)格中。

(3)在“設(shè)計(jì)”選項(xiàng)卡的“顯示/隱藏”組中單擊“匯總”按鈕,在“設(shè)計(jì)網(wǎng)格”中插入一個(gè)“總計(jì)”行。

(4)在“學(xué)年”的條件列中輸入“2009-2010”,在“學(xué)期”的條件列中輸入“1”,在“期末成績”的條件列中輸入<“60”。

(5)在“學(xué)號(hào)”字段列的“總計(jì)”行中選擇“計(jì)算”,在其他三個(gè)字段的“總計(jì)”行中選擇“Where(條件)”,則這三個(gè)字段的“顯示”自動(dòng)被取消了。

(6)在“學(xué)號(hào)”字段單元格的“學(xué)號(hào)”前面輸入“不及格學(xué)生人數(shù):”作為字段標(biāo)題,如圖4.34所示。

圖4.34設(shè)置總計(jì)行的計(jì)數(shù)和條件(7)在“設(shè)計(jì)”選項(xiàng)卡的“結(jié)果”組中單擊“運(yùn)行”按鈕,可以看到查詢的結(jié)果,如圖4.35所示。

提示:Access規(guī)定,指定“條件”的字段不能出現(xiàn)在查詢結(jié)果中,所以查詢結(jié)果中只有不及格學(xué)生人數(shù),而沒有其他字段。圖4.35不及格學(xué)生人數(shù)的查詢結(jié)果3.分組總計(jì)查詢

在實(shí)際應(yīng)用中,不僅要統(tǒng)計(jì)某個(gè)字段中的匯總值,而且還需要把記錄按字段值分組,對(duì)每組的值進(jìn)行分組統(tǒng)計(jì)。

【例4.11】分班級(jí)統(tǒng)計(jì)學(xué)生人數(shù)。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)”視圖窗口。

(2)在打開的“顯示表”對(duì)話框中,把“學(xué)生”表添加到“對(duì)象”窗格,然后把該表中的“學(xué)號(hào)”、“班級(jí)”等字段拖曳到設(shè)計(jì)網(wǎng)格中。

(3)單擊“總計(jì)”按鈕,在“設(shè)計(jì)網(wǎng)格”中插入一個(gè)“總計(jì)”行。在“總計(jì)”行的“班級(jí)”字段列中選擇“分組(GroupBy)”,在“學(xué)號(hào)”字段列中選擇“計(jì)數(shù)”,設(shè)置該字段標(biāo)題為“人數(shù)”,如圖4.36所示。

圖4.36設(shè)置分組總計(jì)(4)單擊“運(yùn)行”按鈕,可以看到查詢的結(jié)果,如圖4.37所示。

圖4.37分班統(tǒng)計(jì)不及格結(jié)果4.建立帶“計(jì)算字段”的查詢

在Access查詢中,除了可以對(duì)字段列進(jìn)行各種匯總計(jì)算外,還可以對(duì)單個(gè)或多個(gè)字段的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)計(jì)算。雖然在Access2010中,數(shù)據(jù)表已經(jīng)有了計(jì)算功能,但是并不能完全取代查詢中的計(jì)算,當(dāng)計(jì)算表達(dá)式中的字段來自兩個(gè)以上的表或查詢,或者需要編寫自定義函數(shù)進(jìn)行計(jì)算時(shí),數(shù)據(jù)表的計(jì)算功能就無能為力了。

在查詢中進(jìn)行計(jì)算,通常是在設(shè)計(jì)網(wǎng)格中新建一個(gè)計(jì)算字段列。這種添加計(jì)算字段的情況多見于工資和庫存管理這類需要計(jì)算的數(shù)據(jù)庫中。

【例4.12】在羅斯文數(shù)據(jù)庫中創(chuàng)建計(jì)算字段查詢,計(jì)算訂單分類匯總。操作步驟如下:

(1)打開“羅斯文”數(shù)據(jù)庫,點(diǎn)擊“創(chuàng)建選項(xiàng)卡”下的“查詢設(shè)計(jì)”視圖按鈕。

(2)然后出現(xiàn)“顯示表”對(duì)話框,在此對(duì)話框中雙擊“訂單明細(xì)”表,把該表添加到“對(duì)象”窗格中,將“訂單ID”字段拖曳到設(shè)計(jì)網(wǎng)格中。

(3)在“設(shè)計(jì)”選項(xiàng)卡的“顯示/隱藏”組中單擊“匯總”按鈕,在查詢設(shè)計(jì)網(wǎng)格中添加“總計(jì)”行。

(4)選中后面的空白字段列的第一個(gè)單元格,在“設(shè)計(jì)”選項(xiàng)卡的“查詢設(shè)置”組中單擊“生成器”按鈕,打開表達(dá)式生成器窗口。

(5)在表達(dá)式生成器中輸入分類匯總表達(dá)式:“Sum(CCur([單價(jià)]*[數(shù)量])*(1-([折扣])/100)*100)”,如圖4.38所示。然后按“確定”按鈕,返回到查詢設(shè)計(jì)視圖中。

圖4.38表達(dá)式生成器(6)在“總計(jì)”行“訂單ID”字段列,采用默認(rèn)“分組(GroupBy)”設(shè)置,在“分類匯總”字段列中選擇“表達(dá)式(Expression)”,結(jié)果如圖4.39所示。

圖4.39查詢設(shè)計(jì)(7)在快捷工具欄上單擊“保存”按鈕,在打開的“另存為”對(duì)話框中將查詢命名為“訂單分類匯總”。

(8)在“設(shè)計(jì)”選項(xiàng)卡的“結(jié)果”組中單擊“運(yùn)行”按鈕,可以看到查詢的結(jié)果,如圖4.40所示。圖4.40查詢設(shè)計(jì)結(jié)果

表達(dá)式Sum(CCur([單價(jià)]*[數(shù)量])*(1-[折扣])/100)*100)的含義如下:

Sum:求和函數(shù)。

CCur:轉(zhuǎn)換函數(shù),CCur函數(shù)用于把數(shù)字類型轉(zhuǎn)換為Currency(貨幣)類型。(1-[折扣])/100表示折扣率,折扣為小數(shù),這是計(jì)算經(jīng)過折扣后的訂單合計(jì)。由于折扣是小數(shù),除以100即表示成百分?jǐn)?shù),最后結(jié)果乘以100是又還原為整數(shù)。

4.7創(chuàng)建交叉表查詢

使用交叉表查詢計(jì)算和重構(gòu)數(shù)據(jù),可以簡化數(shù)據(jù)分析。交叉表查詢計(jì)算數(shù)據(jù)的總和、平均值、計(jì)數(shù)或其他類型的總計(jì)值,并將它們分組。一組列在數(shù)據(jù)表左側(cè)作為交叉表的行字段,另一組列在數(shù)據(jù)表的頂端作為交叉表的列字段。

設(shè)計(jì)交叉表查詢可以使用交叉表查詢向?qū)В员憧焖偕梢粋€(gè)基本的交叉查詢對(duì)象,然后,再進(jìn)入查詢設(shè)計(jì)視圖對(duì)交叉表查詢對(duì)象進(jìn)行修改。

【例4.13】在“教學(xué)管理”數(shù)據(jù)庫中列出學(xué)生每門課程的成績和各門課成績的總分,顯示的信息包括學(xué)號(hào)、姓名、課程名和總評(píng)成績。

由于成績表中并不包含上述全部信息,這些信息來自三個(gè)表,交叉表查詢向?qū)Р恢С謴亩鄠€(gè)表中選擇字段,所以需要使用查詢設(shè)計(jì)視圖創(chuàng)建一個(gè)包含上述信息的查詢。查詢由“學(xué)生”表、“課程”表和“成績”表組成,即從“學(xué)生”表中獲取“姓名”字段,從“課程”表中獲取“課程名”字段以及從“成績”表中獲取“學(xué)號(hào)”和“總評(píng)成績”字段。

具體操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢設(shè)計(jì)”按鈕,打開“查詢設(shè)計(jì)”視圖窗口。

(2)在打開的“顯示表”對(duì)話框中選擇“學(xué)生”表、“課程”表和“成績”表,單擊“添加”按鈕,把它們添加到查詢視圖的對(duì)象窗格中,然后關(guān)閉“顯示表”對(duì)話框。

(3)把“姓名”、“學(xué)號(hào)”、“課程號(hào)”和“總評(píng)成績”字段分別從各個(gè)表(或查詢)中拖到查詢設(shè)計(jì)網(wǎng)格中,如圖4.41所示。

圖4.41查詢設(shè)計(jì)窗口(4)在快捷工具欄中,單擊“保存”按鈕,在打開的“另存為”對(duì)話框中輸入“成績交叉表查詢數(shù)據(jù)源”,然后單擊“確定”按鈕,如圖4.42所示,關(guān)閉所創(chuàng)建的這個(gè)查詢。

圖4.42“另存為”對(duì)話框

以上四步是為了創(chuàng)建交叉表查詢向?qū)ё鰷?zhǔn)備工作,下面開始使用查詢向?qū)?chuàng)建交叉表查詢。。

(5)在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢向?qū)А卑粹o。

(6)在打開的“新建查詢”對(duì)話框中選擇“交叉表查詢向?qū)А?,單擊“確定”按鈕,如圖4.43所示。

圖4.43“新建查詢”對(duì)話框(7)在打開的“請(qǐng)指定哪個(gè)表或查詢中含有交叉表查詢結(jié)果所需的字段”對(duì)話框的“視圖”區(qū)中選擇“查詢”,在數(shù)據(jù)源列表中選擇“查詢:成績交叉表查詢數(shù)據(jù)源”,然后單擊“下一步”按鈕,如圖4.44所示。

圖4.44“請(qǐng)指定哪個(gè)表或查詢中含有交叉表查詢結(jié)果所需的字段”對(duì)話框(8)在打開的“請(qǐng)確定用哪些字段的值作為行標(biāo)題”對(duì)話框的“可用字段”窗格中,依次雙擊“學(xué)號(hào)”和“姓名”,這兩個(gè)字段被發(fā)送到“選定字段”的窗格中,如圖4.45所示。

圖4.45“請(qǐng)確定用哪些字段的值作為行標(biāo)題”對(duì)話框(9)在打開的“請(qǐng)確定用哪個(gè)字段的值作為列標(biāo)題”對(duì)話框中,系統(tǒng)自動(dòng)選擇“課程名”作為列標(biāo)題,且將“總計(jì)”放在計(jì)算位置處。單擊“下一步”按鈕,如圖4.46所示。

圖4.46“請(qǐng)確定用哪個(gè)字段的值作為列標(biāo)題”對(duì)話框(10)在打開的“請(qǐng)確定為每個(gè)列和行的交叉點(diǎn)計(jì)算出什么數(shù)字”對(duì)話框的“函數(shù)”列中選中“Min”,然后單擊“下一步”按鈕,如圖4.47所示。

圖4.47“請(qǐng)確定為每個(gè)列和行的交叉點(diǎn)計(jì)算出什么數(shù)字”對(duì)話框(11)在打開的“請(qǐng)指定查詢的名稱”對(duì)話框的指定查詢的名稱文本框中輸入“成績交叉表查詢數(shù)據(jù)源_交叉表”,選中“查看查詢”,然后單擊“完成”按鈕,如圖4.48所示。圖4.48“請(qǐng)指定查詢的名稱”對(duì)話框(12)這時(shí)打開“查詢設(shè)計(jì)”視圖,把最后一列中的“字段”行單元格中的“總計(jì)”刪除掉,如圖4.49所示。

圖4.49查詢設(shè)計(jì)視圖(13)在“設(shè)計(jì)”選項(xiàng)卡的“結(jié)果”組中單擊“運(yùn)行”按鈕,可以看到查詢的結(jié)果,如圖4.50所示。

圖4.50學(xué)生成績交叉表查詢結(jié)果

4.8創(chuàng)建查找重復(fù)項(xiàng)查詢

在數(shù)據(jù)庫管理系統(tǒng)的應(yīng)用中,可能會(huì)出現(xiàn)同一數(shù)據(jù)在不同的地方多次被輸入到表中的情況,從而造成數(shù)據(jù)重復(fù)。當(dāng)數(shù)據(jù)表中的數(shù)據(jù)很多時(shí),用手工方法很難查找出重復(fù)輸入的數(shù)據(jù)。Access提供的“查找重復(fù)項(xiàng)查詢向?qū)А惫δ芫褪墙鉀Q這類問題的。

對(duì)于一個(gè)設(shè)置了主鍵的表,由于主鍵值不能重復(fù),因此可以保證記錄的唯一性,也就避免了重復(fù)值的出現(xiàn)。但是對(duì)于非主鍵字段就不能避免重復(fù)值的出現(xiàn)?!安檎抑貜?fù)項(xiàng)查詢向?qū)А本褪怯脕頇z查非主鍵字段是否存在重復(fù)值的。

【例4.14】查找“選課”表中是否輸入了重復(fù)的記錄,即對(duì)于同一學(xué)號(hào),是否選擇了同一課程兩次。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢向?qū)А卑粹o。

(2)在打開的“新建查詢”對(duì)話框中選中“查找重復(fù)項(xiàng)查詢向?qū)А?,單擊“確定”按鈕,參見圖4.43。

(3)在打開的“請(qǐng)確定用以搜尋重復(fù)字段值的表或查詢”對(duì)話框中選中“表:選課”,單擊“下一步”按鈕,如圖4.51所示。

圖4.51“請(qǐng)確定用以搜尋重復(fù)字段值的表或查詢”對(duì)話框(4)在“請(qǐng)確定可能包含重復(fù)信息的字段”對(duì)話框的“可用字段”窗格中,把“課程號(hào)”和“學(xué)號(hào)”拖曳到“重復(fù)值字段”窗格中,然后單擊“下一步”按鈕,如圖4.52所示。圖4.52“請(qǐng)確定可能包含重復(fù)信息的字段”對(duì)話框(5)在“請(qǐng)確定查詢是否顯示除帶有重復(fù)值的字段之外的其他字段”對(duì)話框中單擊“下一步”按鈕,如圖4.53所示。

圖4.53“請(qǐng)確定查詢是否顯示除帶有重復(fù)值的字段之外的其他字段”對(duì)話框(6)在“請(qǐng)指定查詢的名稱”對(duì)話框中單擊“完成”按鈕,保存查詢,如圖4.54所示。

圖4.54“請(qǐng)指定查詢的名稱”對(duì)話框

(7)在打開的查詢結(jié)果中,可以看到學(xué)號(hào)是2008102105的學(xué)生重復(fù)選了課程號(hào)為10112009的課程,最后的字段列表明重復(fù)的次數(shù),如圖4.55所示。

圖4.55選課表中重復(fù)選課信息

4.9使用向?qū)Р檎冶碇g不匹配項(xiàng)的記錄

在關(guān)系數(shù)據(jù)庫中,當(dāng)建立了一對(duì)多的關(guān)系后,通常在“一方”表中的每一個(gè)記錄與“多方”表中的多個(gè)記錄相匹配。但是也可能存在在“多方”表中沒有記錄與之匹配的情況。例如在教學(xué)管理中,常出現(xiàn)有些課程沒有學(xué)生選修的情況,為了查找哪些課程沒有學(xué)生選修,最好的方法是使用“查找不匹配項(xiàng)查詢向?qū)А薄?/p>

【例4.15】在“教學(xué)管理”數(shù)據(jù)庫的“課程”表中,查找哪些課程沒有任何學(xué)生選修。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡上的“查詢”組中單擊“查詢向?qū)А卑粹o。

(2)在打開的“新建查詢”對(duì)話框中選中“查找不匹配項(xiàng)查詢向?qū)А保瑔螕簟按_定”按鈕,如圖4.56所示。

(3)在打開的“所建查詢將列出下面所選表中的記錄……”對(duì)話框中,選中“表:授課”,單擊“下一步”按鈕,如圖4.57所示。

圖4.56“新建查詢”對(duì)話框圖4.57“所建查詢將列出下面所選表中的記錄……”對(duì)話框(4)在打開的“請(qǐng)確定哪張表或查詢包含相關(guān)記錄”對(duì)話框中,選中“表:選課”,單擊“下一步”按鈕,如圖4.58所示。

圖4.58“請(qǐng)確定哪張表或查詢包含相關(guān)記錄”對(duì)話框(5)在打開的“請(qǐng)確定在兩張表中都有的信息”對(duì)話框中單擊“下一步”按鈕,如圖4.59所示。

圖4.59“請(qǐng)確定在兩張表中都有的信息”對(duì)話框(6)在打開的“請(qǐng)選擇查詢結(jié)果中所需的字段”對(duì)話框中雙擊“課程號(hào)”和“課程名”,單擊“下一步”按鈕,如圖4.60所示。

圖4.60“請(qǐng)選擇查詢結(jié)果中所需的字段”對(duì)話框(7)在打開的“指定查詢名稱”對(duì)話框中輸入“沒有學(xué)生選的課程”,單擊“完成”按鈕(圖略)。最后看到查詢的結(jié)果如圖4.61所示。

圖4.61查詢結(jié)果

4.10操作查詢

操作查詢用于創(chuàng)建新表或者對(duì)現(xiàn)有表中的數(shù)據(jù)進(jìn)行修改。一個(gè)數(shù)據(jù)庫系統(tǒng)經(jīng)常需要進(jìn)行各種數(shù)據(jù)維護(hù)。例如對(duì)于教學(xué)管理數(shù)據(jù)庫,當(dāng)一屆學(xué)生畢業(yè)后,不僅需要把這屆畢業(yè)生的各種數(shù)據(jù)從現(xiàn)有的教學(xué)管理數(shù)據(jù)庫中成批地導(dǎo)出到學(xué)生檔案數(shù)據(jù)庫中,而且在導(dǎo)出完成后,還需要把這屆畢業(yè)生的數(shù)據(jù)從現(xiàn)有的數(shù)據(jù)庫中刪除掉。這類操作在數(shù)據(jù)庫管理中稱為數(shù)據(jù)維護(hù)。使用操作查詢可以方便、快速地完成對(duì)數(shù)據(jù)的導(dǎo)出、刪除以及更新等操作。1.用生成表查詢創(chuàng)建畢業(yè)生檔案表

生成表查詢利用一個(gè)或多個(gè)表中的全部或部分?jǐn)?shù)據(jù)創(chuàng)建新表。在Access中,從表中訪問數(shù)據(jù)庫要比從查詢中訪問數(shù)據(jù)庫快得多,所以當(dāng)經(jīng)常需要從多個(gè)表中提取數(shù)據(jù)時(shí),最好的方法是使用生成表查詢,將從多個(gè)表查詢的結(jié)果作為一個(gè)新表永久保存起來。

【例4.16】生成畢業(yè)生的數(shù)據(jù)表,命名為“畢業(yè)學(xué)生”表。如果某學(xué)校是不久前開始使用計(jì)算機(jī)管理教學(xué)的,當(dāng)出現(xiàn)第一屆畢業(yè)學(xué)生時(shí),需要?jiǎng)?chuàng)建畢業(yè)生檔案庫。操作步驟如下:

(1)打開“教學(xué)管理”數(shù)據(jù)庫,在“創(chuàng)建”選項(xiàng)卡的“查詢”組中單擊“查詢設(shè)計(jì)”按鈕,打開“查詢

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論