




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
在數(shù)據(jù)庫(kù)操作中,很大一部分工作是對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、計(jì)算與檢索。雖然可以在數(shù)據(jù)表中進(jìn)行篩選、排序、瀏覽甚至匯總等操作,但是數(shù)據(jù)表在執(zhí)行數(shù)據(jù)計(jì)算以及檢索多個(gè)表時(shí),就顯得無(wú)能為力了。此時(shí),我們可以利用查詢輕而易舉地完成以上操作。查詢是Access數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象。查詢實(shí)際上就是收集一個(gè)或幾個(gè)表中用戶認(rèn)為有用的字段的工具。我們可以將查詢到的數(shù)據(jù)組成一個(gè)集合,這個(gè)集合中的字段可能來(lái)自一個(gè)表,也可能來(lái)自多個(gè)不同的表,這個(gè)集合就稱為查詢。在Access中查詢可以用來(lái)生成窗體、報(bào)表,甚至是生成其他查詢的基礎(chǔ)。第4章查詢查詢是關(guān)系數(shù)據(jù)庫(kù)中的一個(gè)重要概念,查詢對(duì)象不是數(shù)據(jù)的集合,而是操作的集合??梢岳斫鉃椴樵兪轻槍?duì)數(shù)據(jù)表中數(shù)據(jù)源的操作命令。在Access數(shù)據(jù)庫(kù)中,查詢是一種統(tǒng)計(jì)和分析數(shù)據(jù)的工作,是對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行分類、篩選、添加、刪除和修改。從表面現(xiàn)象上看查詢似乎是建立了一個(gè)新表,但是,查詢的記錄集實(shí)際上并不存在。每次運(yùn)行查詢時(shí),Access便從查詢?cè)幢淼臄?shù)據(jù)中創(chuàng)建一個(gè)新的記錄集,使查詢中的數(shù)據(jù)能夠和源表中的數(shù)據(jù)保持同步。每次打開(kāi)查詢,就相當(dāng)于重新按條件進(jìn)行查詢。查詢可以作為結(jié)果,也可以作為來(lái)源,即查詢可以根據(jù)條件從數(shù)據(jù)表中檢索數(shù)據(jù),并將結(jié)果存儲(chǔ)起來(lái);查詢也可以作為創(chuàng)建表、查詢、窗體或報(bào)表的數(shù)據(jù)源。4.1查詢簡(jiǎn)介根據(jù)其應(yīng)用目的不同,可以將Access的查詢分為以下5種類型:(1)選擇查詢(2)交叉表查詢(3)參數(shù)查詢(4)操作查詢:操作查詢是在一次查詢操作中對(duì)所得到的結(jié)果進(jìn)行編輯等操作。操作查詢分為四種類型:刪除、追加、更改與生成表。(5)SQL查詢:這種查詢需要一些特定的SQL命令,這些命令必須寫(xiě)在SQL視圖中(SQL查詢不能使用設(shè)計(jì)視圖)。SQL查詢包括聯(lián)合查詢、傳遞查詢、數(shù)據(jù)定義查詢和子查詢四種類型。4.1查詢簡(jiǎn)介Access2010的查詢視圖有數(shù)據(jù)表視圖、設(shè)計(jì)視圖、SQL視圖、數(shù)據(jù)透視表視圖和數(shù)據(jù)透視圖視圖五種,本節(jié)僅介紹常用的前三種視圖方式。4.2.1數(shù)據(jù)表視圖數(shù)據(jù)表視圖主要用于在行和列格式下顯示表、查詢以及窗體中的數(shù)據(jù),如圖4.1所示的“所有男同學(xué)”查詢的數(shù)據(jù)表視圖。對(duì)于選擇查詢,在對(duì)象列表下選中“查詢”,雙擊要打開(kāi)的查詢便可以以數(shù)據(jù)表視圖方式打開(kāi)查詢。用戶可以通過(guò)這種方式進(jìn)行打開(kāi)查詢、查看信息、更改數(shù)據(jù)、追加記錄和刪除記錄等操作。4.2查詢視圖4.2.2設(shè)計(jì)視圖設(shè)計(jì)視圖是一個(gè)設(shè)計(jì)查詢的窗口,包含了創(chuàng)建查詢所需要的各個(gè)組件。用戶只需在各個(gè)組件中設(shè)置一定的內(nèi)容就可以創(chuàng)建一個(gè)查詢。查詢?cè)O(shè)計(jì)窗口分為上下兩部分,上部為表/查詢的字段列表,顯示添加到查詢中的數(shù)據(jù)表或查詢的字段列表;下部為查詢的設(shè)計(jì)網(wǎng)格區(qū),定義查詢的字段,并將表達(dá)式作為條件,限制查詢的結(jié)果;中間是可以調(diào)節(jié)的分隔線;標(biāo)題欄顯示查詢的名稱,如圖4.2所示。用戶只需要在各個(gè)組件中設(shè)置一定的內(nèi)容就可以創(chuàng)建一個(gè)查詢。4.2查詢視圖在查詢?cè)O(shè)計(jì)網(wǎng)格中,可以詳細(xì)設(shè)置查詢的內(nèi)容,具體內(nèi)容的功能如下:(1)字段:查詢所需要的字段。每個(gè)查詢至少包括一個(gè)字段,也可以包含多個(gè)字段。如果與字段對(duì)應(yīng)的“顯示”復(fù)選框被選中,則表示該字段將顯示在查詢的結(jié)果中。(2)表:指定查詢的數(shù)據(jù)來(lái)源表或其他查詢。(3)排序:指定查詢的結(jié)果是否進(jìn)行排序。排序方式包括“升序”、“降序”和“不排序”三種。(4)條件:指定用戶用于查詢的條件或要求。在如圖4.3所示的“查詢工具/設(shè)計(jì)”組中還包含許多按鈕,可以幫助用戶方便、快捷地進(jìn)行查詢?cè)O(shè)計(jì)。4.2查詢視圖4.2.3SQL視圖用戶可以使用設(shè)計(jì)視圖創(chuàng)建和查看查詢,但并不能與查詢進(jìn)行直接交互。Access能將設(shè)計(jì)視圖中的查詢翻譯成SQL語(yǔ)句。SQL是“結(jié)構(gòu)化查詢語(yǔ)言”的縮寫(xiě)。雖然SQL語(yǔ)言是大型的、多樣的語(yǔ)言,但用戶只需要簡(jiǎn)單了解SQL就能夠使用它。當(dāng)用戶在設(shè)計(jì)視圖中創(chuàng)建查詢時(shí),Access在SQL視圖中自動(dòng)創(chuàng)建與查詢對(duì)應(yīng)的SQL語(yǔ)句。用戶可以在SQL視圖中查看或改變SQL語(yǔ)句,進(jìn)而改變查詢。SQL視圖如圖4.4所示。
4.2查詢視圖可以使用查詢向?qū)?chuàng)建查詢,常用的查詢向?qū)в校汉?jiǎn)單查詢向?qū)?。交叉表查詢向?qū)А2檎抑貜?fù)項(xiàng)查詢向?qū)?。查找不匹配?xiàng)查詢向?qū)А?.3使用查詢向?qū)?chuàng)建查詢4.3.1簡(jiǎn)單查詢向?qū)г贏ccess中可以利用簡(jiǎn)單查詢向?qū)?chuàng)建查詢,可以在一個(gè)或多個(gè)表(或其他查詢)指定的字段中檢索數(shù)據(jù)。而且,通過(guò)向?qū)б部梢詫?duì)一組記錄或全部記錄進(jìn)行總計(jì)、計(jì)數(shù)以及求平均值的運(yùn)算,還可以計(jì)算字段中的最大值和最小值等。使用簡(jiǎn)單查詢向?qū)?chuàng)建查詢的操作步驟如圖4.5-4.10所示。學(xué)生檔案表查詢(見(jiàn)示例數(shù)據(jù)庫(kù))注意:如果生成的查詢不完全符合要求,可以重新執(zhí)行向?qū)Щ蛟凇霸O(shè)計(jì)”視圖中更改查詢。4.3使用查詢向?qū)?chuàng)建查詢4.3.2交叉表查詢向?qū)褂孟驅(qū)?chuàng)建交叉表查詢,可以將數(shù)據(jù)組合成表,并利用累計(jì)工具將數(shù)值顯示為電子報(bào)表式的格式。交叉表查詢可以將數(shù)據(jù)分為兩組顯示,一組顯示在左邊,一組顯示在上面,左邊和上面的數(shù)據(jù)在表中的交叉點(diǎn)可以進(jìn)行求和、求平均值、計(jì)數(shù)或其他計(jì)算。統(tǒng)計(jì)各院系男女生人數(shù)的操作步驟如圖4.11-4.17所示:各院系男女生人數(shù)統(tǒng)計(jì)(見(jiàn)示例數(shù)據(jù)庫(kù))注意:在數(shù)據(jù)庫(kù)中,可以通過(guò)在窗體中使用“數(shù)據(jù)透視表向?qū)А被蛟跀?shù)據(jù)訪問(wèn)頁(yè)中創(chuàng)建數(shù)據(jù)透視表列表來(lái)顯示交叉表數(shù)據(jù),而無(wú)須創(chuàng)建單獨(dú)的查詢。使用數(shù)據(jù)透視表窗體或數(shù)據(jù)透視表列表可以按照不同的方法來(lái)分析數(shù)據(jù),更改所需的行標(biāo)題和列標(biāo)題。4.3使用查詢向?qū)?chuàng)建查詢4.3.3查找重復(fù)項(xiàng)查詢向?qū)Ц鶕?jù)“查找重復(fù)項(xiàng)”查詢的結(jié)果,可以確定在表中是否有重復(fù)的記錄,或記錄在表中是否共享相同的值。例如,可以搜索“姓名”字段中的重復(fù)值來(lái)確定同名學(xué)生是否為重復(fù)記錄。步驟如圖4.18-4.21所示。查找學(xué)生檔案表的重復(fù)項(xiàng)(見(jiàn)示例數(shù)據(jù)庫(kù))注:本例中結(jié)果為空,因?yàn)闆](méi)有重名學(xué)生;為查看結(jié)果,可自行添加重名學(xué)生記錄。4.3使用查詢向?qū)?chuàng)建查詢4.3.4查找不匹配項(xiàng)查詢向?qū)褂谩安檎也黄ヅ漤?xiàng)查詢向?qū)А保梢栽诒碇胁檎遗c其他記錄不相關(guān)的記錄。查找未選課學(xué)生的操作步驟如圖4.22-4.27所示。學(xué)生檔案表與學(xué)生選課表不匹配(見(jiàn)示例數(shù)據(jù)庫(kù))說(shuō)明:“學(xué)生檔案表”中是所有學(xué)生的記錄,而“學(xué)生選課表”中是選課學(xué)生的記錄,兩者進(jìn)行不匹配查詢,就是找出在“學(xué)生檔案表”中而不在“學(xué)生選課表”中的記錄,這些記錄就是沒(méi)有選課的學(xué)生,或者說(shuō)實(shí)際上是兩張表做了一個(gè)差運(yùn)算。4.3使用查詢向?qū)?chuàng)建查詢“條件”是指在查詢中用來(lái)限制檢索記錄的條件表達(dá)式,它是算術(shù)運(yùn)算符、邏輯運(yùn)算符、常量、字段值和函數(shù)等的組合。通過(guò)條件可以過(guò)濾掉很多不需要的數(shù)據(jù)。1.簡(jiǎn)單條件表達(dá)式簡(jiǎn)單條件表達(dá)式有字符型、數(shù)字型和表示空字段值的條件表達(dá)式。(1)字符型。例如:“計(jì)算機(jī)系”表示字段值等于“計(jì)算機(jī)系”的字符串?!?計(jì)算機(jī)*”表示其中含有“計(jì)算機(jī)”三個(gè)字的任何字符串?!坝?jì)算機(jī)?”表示有四個(gè)字而且前三個(gè)字是“計(jì)算機(jī)”的所有字符串。4.4查詢條件(2)數(shù)字型。例如:“20”表示數(shù)字20或是20元錢、編號(hào)20?!?0*5-3”與表達(dá)式“97”等價(jià)。(3)表示空字段值。例如:“IsNull”或“為空”表示為空白的字段值?!癐sNotNull”或“為非空”表示不為空白的字段值。4.4查詢條件2.運(yùn)算符運(yùn)算符主要有關(guān)系運(yùn)算符、邏輯運(yùn)算符和特殊運(yùn)算符。(1)關(guān)系操作符,如表4.2所示。(2)邏輯運(yùn)算符,如表4.3所示。(3)特殊運(yùn)算符,如表4.4所示。3.函數(shù)Access提供了大量的標(biāo)準(zhǔn)函數(shù),如數(shù)值函數(shù)、字符函數(shù)、日期/時(shí)間函數(shù)和統(tǒng)計(jì)函數(shù)等。利用這些函數(shù)可以更好地構(gòu)造查詢準(zhǔn)則,也為用戶更準(zhǔn)確地進(jìn)行統(tǒng)計(jì)計(jì)算、實(shí)現(xiàn)數(shù)據(jù)處理提供了有效的方法。表4.5至表4.8分別給出了四種類型函數(shù)的說(shuō)明。4.4查詢條件在Access中建立查詢時(shí),經(jīng)常會(huì)使用文本值作為查詢的條件,表4.9給出了以文本值作為條件的示例和功能說(shuō)明。在Access中建立查詢時(shí),有時(shí)需要以計(jì)算或處理日期所得到的結(jié)果作為條件,表4.10列舉了一些應(yīng)用示例和功能說(shuō)明。4.4查詢條件4.5.1編輯查詢中的字段1.增加字段在查詢?cè)O(shè)計(jì)視圖中增加一個(gè)或多個(gè)字段的操作步驟如下:(1)在查詢?cè)O(shè)計(jì)視圖中打開(kāi)需要修改的查詢。(2)根據(jù)需要分別采用合適的方法在查詢中加入字段。(3)單擊快速訪問(wèn)工具欄上的“保存”按鈕,保存對(duì)查詢的修改。4.5對(duì)查詢進(jìn)行編輯2.刪除字段在查詢?cè)O(shè)計(jì)視圖中刪除字段的方法很簡(jiǎn)單。操作步驟如下:(1)在查詢?cè)O(shè)計(jì)視圖中打開(kāi)需要修改的查詢。(2)在查詢?cè)O(shè)計(jì)視圖的設(shè)計(jì)網(wǎng)格中,單擊要?jiǎng)h除字段的選擇器,或按下Shift鍵單擊選擇器以選取多個(gè)字段,如圖4.28所示。(3)按Delete鍵或單擊功能區(qū)“查詢工具/設(shè)計(jì)”選項(xiàng)卡下“查詢?cè)O(shè)置”組中的“刪除列”按鈕,刪除選中字段。(4)單擊快速訪問(wèn)工具欄中的“保存”按鈕,保存對(duì)查詢的修改。4.5對(duì)查詢進(jìn)行編輯3.移動(dòng)字段移動(dòng)字段的操作步驟如下:(1)在查詢?cè)O(shè)計(jì)視圖中打開(kāi)需要修改的查詢。(2)在查詢?cè)O(shè)計(jì)視圖的設(shè)計(jì)網(wǎng)格中,選取要移動(dòng)的一個(gè)或多個(gè)字段。(3)單擊要選取字段的選擇器,將它們拖到合適的位置。(4)保存修改后,關(guān)閉設(shè)計(jì)視圖即可。4.5對(duì)查詢進(jìn)行編輯4.在查詢中修改字段的標(biāo)題設(shè)計(jì)網(wǎng)格中“字段”單元格中的字段名用來(lái)表示所選擇的字段,一般情況下,它們將直接顯示在查詢結(jié)果表的字段名中。一旦需要在結(jié)果中顯示不同于字段名的信息時(shí),就需要修改字段的標(biāo)題。操作步驟如下:(1)在查詢?cè)O(shè)計(jì)視圖中打開(kāi)需要修改的查詢。(2)將光標(biāo)移動(dòng)到需要修改的字段上。(3)單擊功能區(qū)“查詢工具/設(shè)計(jì)”選項(xiàng)卡下“顯示/隱藏”組中的“屬性表”按鈕,打開(kāi)如圖4.29所示的“屬性表”窗格。4.5對(duì)查詢進(jìn)行編輯(4)在“屬性表”窗格“常規(guī)”選項(xiàng)卡下的“標(biāo)題”屬性框中輸入字段的標(biāo)題。(5)關(guān)閉“屬性表”窗格。(6)單擊快速訪問(wèn)工具欄中的“保存”按鈕即可。切換到“數(shù)據(jù)表視圖”,將會(huì)看見(jiàn)在數(shù)據(jù)表中字段名稱已經(jīng)變成了標(biāo)題欄中的內(nèi)容。4.5對(duì)查詢進(jìn)行編輯5.改變字段順序設(shè)計(jì)好一個(gè)查詢后,在設(shè)計(jì)視圖中看到的字段之間的排列順序就是將來(lái)在查詢中看到的順序。如果對(duì)當(dāng)初設(shè)計(jì)的字段排列順序不滿意,可以使用拖動(dòng)的方法,改變字段之間的排列順序。具體操作步驟如下:(1)在查詢?cè)O(shè)計(jì)視圖中打開(kāi)需要修改的查詢。(2)單擊要改變順序的字段上方的列選擇器來(lái)選擇整個(gè)列。(3)拖動(dòng)該列移動(dòng)到新位置上(在拖動(dòng)過(guò)程中,可以看到字段的新位置將出現(xiàn)黑豎條,可以據(jù)此確定字段的新位置)。(4)釋放鼠標(biāo)左鍵,可以看到該字段已經(jīng)移動(dòng)到新位置上。4.5對(duì)查詢進(jìn)行編輯4.5.2運(yùn)行查詢?cè)诮⑼瓿刹樵儗?duì)象之后,應(yīng)該保存設(shè)計(jì)完成的查詢對(duì)象。其方法是,關(guān)閉查詢?cè)O(shè)計(jì)視圖,在隨后出現(xiàn)的“另存為”對(duì)話框中指定查詢對(duì)象的名稱,然后確定;或者單擊快速訪問(wèn)工具欄中的“保存”按鈕,在“另存為”對(duì)話框指定查詢名稱。對(duì)于一個(gè)設(shè)計(jì)完成的查詢對(duì)象,可以在當(dāng)前數(shù)據(jù)庫(kù)窗口中“導(dǎo)航”窗格下的查詢對(duì)象列表中看到它的圖標(biāo),用鼠標(biāo)在一個(gè)查詢對(duì)象上雙擊,即可運(yùn)行這個(gè)查詢對(duì)象。使用查詢對(duì)象操作數(shù)據(jù)也就是運(yùn)行上述查詢語(yǔ)句,稱為運(yùn)行查詢。4.5對(duì)查詢進(jìn)行編輯在數(shù)據(jù)庫(kù)窗口“導(dǎo)航”窗格下的查詢對(duì)象列表中,選擇需要打開(kāi)的查詢對(duì)象鼠標(biāo)右鍵單擊,從快捷菜單中選擇“打開(kāi)”;或雙擊需要打開(kāi)的查詢對(duì)象圖標(biāo),即進(jìn)入查詢的數(shù)據(jù)表視圖。在打開(kāi)后的視圖中可以看到,查詢的數(shù)據(jù)表視圖與表的數(shù)據(jù)表視圖是形式完全相同的視圖,不同的是查詢的數(shù)據(jù)視圖中顯示的是一個(gè)動(dòng)態(tài)數(shù)據(jù)集。4.5對(duì)查詢進(jìn)行編輯4.5.3排序查詢的結(jié)果排序可以令某一列數(shù)據(jù)有順序地排列,便于查看。在設(shè)計(jì)查詢對(duì)象時(shí),若需要哪一列數(shù)據(jù)有順序地排列,可單擊位于該列排序行上的下拉式列表框,從中選擇所需的排序種類。4.5對(duì)查詢進(jìn)行編輯選擇查詢是Access支持的多種類型查詢對(duì)象中最常見(jiàn)、最重要的一種,它從一個(gè)或多個(gè)表中根據(jù)條件檢索數(shù)據(jù)。它的優(yōu)點(diǎn)在于能將一個(gè)或多個(gè)表中的數(shù)據(jù)集合在一起。選擇查詢不僅可以完成數(shù)據(jù)的篩選、排序等操作,更常見(jiàn)的功能在于它的計(jì)算功能、總匯統(tǒng)計(jì)功能以及接受外部參數(shù)的功能,即計(jì)算查詢和參數(shù)查詢。同時(shí),選擇查詢還是創(chuàng)建其他類型查詢的基礎(chǔ)。4.6選擇查詢4.6.1創(chuàng)建選擇查詢本節(jié)將通過(guò)示例介紹如何設(shè)計(jì)一個(gè)簡(jiǎn)單的選擇查詢。例如,查找單科成績(jī)大于85分的學(xué)生記錄,并顯示學(xué)生所在院系、學(xué)號(hào)、姓名(注意:兩張表的協(xié)同操作,應(yīng)當(dāng)預(yù)先建立好表與表之間的關(guān)聯(lián)關(guān)系,否則結(jié)果會(huì)有錯(cuò)誤)。在這個(gè)查詢中需要將“學(xué)生檔案表”和“學(xué)生成績(jī)表”的數(shù)據(jù)放在一起,找出單科成績(jī)大于85分的學(xué)生,創(chuàng)建查詢的步驟如:圖4.30-4.33所示。提示:如果生成的查詢不完全符合要求,可以在“設(shè)計(jì)”視圖中更改查詢。單科成績(jī)大于85分(見(jiàn)示例數(shù)據(jù)庫(kù))4.6選擇查詢4.6.2查詢中的計(jì)算功能1.在選擇查詢中計(jì)算在建立查詢時(shí),有時(shí)可能關(guān)心查詢記錄,有時(shí)可能關(guān)心記錄的計(jì)算結(jié)果。通過(guò)查詢操作完成表內(nèi)部或各表之間數(shù)據(jù)的運(yùn)算,是建立查詢對(duì)象的一個(gè)常用的功能。完成計(jì)算操作是通過(guò)在查詢的對(duì)象中設(shè)計(jì)計(jì)算查詢列實(shí)現(xiàn)的。下面以院系統(tǒng)計(jì)學(xué)生人數(shù)為例介紹計(jì)算查詢的創(chuàng)建過(guò)程,如圖4.34-4.35所示。按院系統(tǒng)計(jì)學(xué)生人數(shù)(見(jiàn)示例數(shù)據(jù)庫(kù))4.6選擇查詢?cè)诓樵冎袌?zhí)行計(jì)算的注意事項(xiàng):(1)如果要在字段中顯示計(jì)算的結(jié)果,可以使用MicrosoftAccess所提供的預(yù)定義計(jì)算或自定義計(jì)算。使用所謂“總計(jì)”的預(yù)定義計(jì)算,可計(jì)算出記錄組或全部記錄的下列量值:合計(jì)(Sum)、平均值(Avg)、計(jì)數(shù)(Count)、最小值(Min)、最大值(Max)和標(biāo)準(zhǔn)偏差(StDev)等??梢詫?duì)每個(gè)字段選擇要進(jìn)行的總計(jì)計(jì)算。(2)“計(jì)數(shù)”(Count)在計(jì)算時(shí)不能包括有空值(Null)的記錄,即“計(jì)數(shù)”(Count)返回所有無(wú)Null值記錄的數(shù)量。有一種方法可以對(duì)Null值進(jìn)行計(jì)數(shù),另外也可以將Null值轉(zhuǎn)換為零以便進(jìn)行計(jì)算。如果要查找包含Null值的記錄總數(shù),請(qǐng)?jiān)凇坝?jì)數(shù)”(Count)中使用星號(hào)(*)通配符。4.6選擇查詢(3)在字段中顯示計(jì)算結(jié)果時(shí),結(jié)果實(shí)際并不存儲(chǔ)在查詢中。相反地,MicrosoftAccess在每次執(zhí)行查詢時(shí)都將重新進(jìn)行計(jì)算,以使計(jì)算結(jié)果永遠(yuǎn)以數(shù)據(jù)庫(kù)中最新的數(shù)據(jù)為準(zhǔn)。因此,不能人工更新計(jì)算結(jié)果。如圖4.34所示窗口中總計(jì)行中其他值的含義如表4.11所示。4.6選擇查詢2.修改顯示標(biāo)題在如圖4.35所示的查詢結(jié)果中,用來(lái)計(jì)數(shù)的字段標(biāo)題為“學(xué)號(hào)之計(jì)數(shù)”,顯然這樣的顯示可讀性差,應(yīng)該調(diào)整。方法有兩種,第一種方法是采用4.5.1節(jié)中通過(guò)“屬性表”在查詢中修改字段的標(biāo)題;第二種方法是直接在設(shè)計(jì)網(wǎng)格區(qū)的“字段”行進(jìn)行修改,操作步驟如下:(1)在查詢?cè)O(shè)計(jì)視圖中打開(kāi)“按院系統(tǒng)計(jì)學(xué)生人數(shù)”查詢。(2)在“字段”行的“學(xué)號(hào)”單元格中加入“人數(shù):”,如圖4.36所示。(3)保存對(duì)查詢的修改。運(yùn)行查詢的結(jié)果如圖4.37所示。按院系統(tǒng)計(jì)學(xué)生人數(shù)(見(jiàn)示例數(shù)據(jù)庫(kù))4.6選擇查詢3.添加計(jì)算字段當(dāng)需要統(tǒng)計(jì)的數(shù)據(jù)在表中沒(méi)有相應(yīng)的字段,或者用于計(jì)算的數(shù)據(jù)值來(lái)源于多個(gè)字段時(shí),這時(shí)應(yīng)該在“設(shè)計(jì)網(wǎng)格”中添加一個(gè)計(jì)算字段,計(jì)算字段是指根據(jù)一個(gè)或多個(gè)表中的一個(gè)或多個(gè)字段并使用表達(dá)式建立的新字段。下面以計(jì)算每位學(xué)生每門課程的重修費(fèi)用為例介紹添加計(jì)算字段的操作步驟,如圖4.38-4.41所示。重修費(fèi)用(見(jiàn)示例數(shù)據(jù)庫(kù))4.6選擇查詢某些情況下,我們需要將某幾個(gè)字段的內(nèi)容合二為一輸出,最簡(jiǎn)單快捷的方法也是通過(guò)添加計(jì)算字段來(lái)實(shí)現(xiàn)的。下面以“學(xué)生檔案表”為例,要求將“學(xué)號(hào)”和“姓名”字段合二為一輸出,字段的標(biāo)題為“學(xué)號(hào)姓名”,其操作步驟如圖4.42-4.43所示。學(xué)號(hào)姓名(見(jiàn)示例數(shù)據(jù)庫(kù))4.6選擇查詢?yōu)榱朔奖阌脩舻牟樵儯珹ccess提供了參數(shù)查詢。參數(shù)查詢是動(dòng)態(tài)的,它利用對(duì)話框提示用戶輸入?yún)?shù)并檢索符合所輸入?yún)?shù)的記錄或值。要?jiǎng)?chuàng)建參數(shù)查詢,必須在查詢列的“條件”單元格中輸入?yún)?shù)表達(dá)式(括在方括號(hào)中),而不是輸入特定的條件。運(yùn)行該查詢時(shí),Access將顯示包含參數(shù)表達(dá)式文本的參數(shù)提示框。在輸入數(shù)據(jù)后,Accees使用輸入的數(shù)據(jù)作為查詢條件。下面簡(jiǎn)單介紹“按院系查找不及格學(xué)生”查詢的創(chuàng)建過(guò)程,如圖4.44-4.46所示。按院系查找不及格學(xué)生(見(jiàn)示例數(shù)據(jù)庫(kù))4.7參數(shù)查詢創(chuàng)建參數(shù)查詢時(shí),不僅可以使用一個(gè)參數(shù),也可以使用兩個(gè)或兩個(gè)以上的參數(shù)。多個(gè)參數(shù)查詢的創(chuàng)建過(guò)程與一個(gè)參數(shù)查詢的創(chuàng)建過(guò)程完全一樣,只是在查詢?cè)O(shè)計(jì)視圖窗口中將多個(gè)參數(shù)的條件都放在“條件”行上,如圖4.47所示的“按學(xué)號(hào)和課程名稱查詢學(xué)生成績(jī)”,運(yùn)行查詢時(shí)會(huì)依次彈出兩個(gè)“輸入?yún)?shù)值”的消息框,分別提示用戶輸入“學(xué)號(hào)”和“課程名稱”。按學(xué)號(hào)和課程名稱查詢學(xué)生成績(jī)(見(jiàn)示例數(shù)據(jù)庫(kù))4.7參數(shù)查詢選擇查詢從表中檢索數(shù)據(jù),通過(guò)利用表達(dá)式對(duì)字段中的數(shù)據(jù)進(jìn)行計(jì)算來(lái)篩選數(shù)據(jù)。但是,如果要修改數(shù)據(jù),就要使用操作查詢。Access中有4種類型的操作查詢。更新查詢:替換現(xiàn)有數(shù)據(jù)。追加查詢:在現(xiàn)有表中添加新記錄。刪除查詢:從現(xiàn)有表中刪除記錄。生成表查詢:創(chuàng)建新表4.8操作查詢操作查詢運(yùn)行時(shí)會(huì)受到MicrosoftOffice安全選項(xiàng)的限制,可能會(huì)出現(xiàn)“操作或事件已被禁用模式阻止”的提示信息而無(wú)法執(zhí)行,這時(shí)需進(jìn)行如下設(shè)置:打開(kāi)Access后→單擊“文件”選項(xiàng)卡→單擊“選項(xiàng)”→單擊“信任中心”→單擊“信任中心設(shè)置”按鈕→單擊“宏設(shè)置”→選擇第四個(gè)"啟用所有宏"單選項(xiàng)→單擊“確定”按鈕→單擊“確定”按鈕,退出Access再重新進(jìn)入即可。4.8操作查詢4.8.1保護(hù)數(shù)據(jù)創(chuàng)建操作查詢時(shí),首先要考慮保護(hù)數(shù)據(jù),因?yàn)椴僮鞑樵儠?huì)改變數(shù)據(jù)。在多數(shù)情況下,這些改變是不能恢復(fù)的,這就意味著操作查詢具有破壞數(shù)據(jù)的能力。在使用刪除、更新或追加查詢時(shí),如果希望操作更安全一些,就應(yīng)該先對(duì)相應(yīng)的表進(jìn)行備份,然后再運(yùn)行操作查詢。創(chuàng)建表的備份的操作步驟如下:(1)單擊“導(dǎo)航”窗格中“表”對(duì)象列表下所需要備份的表,按Ctrl+C鍵復(fù)制。(2)按Ctrl+V鍵粘貼,Access會(huì)顯示“粘貼表方式”對(duì)話框,如圖4.48所示。4.8操作查詢(3)為備份的表指定新表名。(4)選中“結(jié)構(gòu)和數(shù)據(jù)”選項(xiàng),然后單擊“確定”按鈕將新表添加到數(shù)據(jù)庫(kù)窗口中,此備份的表和原表完全相同。也可通過(guò)鼠標(biāo)右鍵的快捷菜單來(lái)完成表備份的操作過(guò)程。4.8操作查詢4.8.2更新查詢?nèi)绻獙?duì)數(shù)據(jù)表中的某些數(shù)據(jù)進(jìn)行有規(guī)律的成批的更新替換操作,就可以使用更新查詢來(lái)實(shí)現(xiàn)。例如,現(xiàn)需要將“學(xué)生檔案表”中院系為“數(shù)理學(xué)院”的記錄改為“數(shù)學(xué)學(xué)院”。如果在數(shù)據(jù)表視圖中采用手工操作,將是一件很繁瑣的事情,而設(shè)計(jì)一個(gè)更新查詢可以很方便地完成這樣的操作。步驟如圖4.49-4.51所示。更新院系(見(jiàn)示例數(shù)據(jù)庫(kù))有些情況下,更新工作是在字段值原有基礎(chǔ)上來(lái)進(jìn)行的,或者說(shuō)是要求原有字段內(nèi)容是更新后字段內(nèi)容的組成部分。例如:將“學(xué)生檔案表備份”中的“學(xué)號(hào)”字段前加“20”,其操作步驟如圖4.52-4.57所示。更新學(xué)號(hào)(見(jiàn)示例數(shù)據(jù)庫(kù))4.8操作查詢4.8.3追加查詢?nèi)绻枰獜臄?shù)據(jù)庫(kù)的某個(gè)數(shù)據(jù)表中篩選數(shù)據(jù),可以使用選擇查詢。如果需要將這些篩選出來(lái)的數(shù)據(jù)追加到另外一個(gè)結(jié)果相同的數(shù)據(jù)表中,則必須使用追加查詢。因此,可以使用追加查詢從外部數(shù)據(jù)源中導(dǎo)入數(shù)據(jù),然后將它們追加到現(xiàn)有表中,也可以從其他的Access數(shù)據(jù)庫(kù)甚至同一數(shù)據(jù)庫(kù)的其他表中導(dǎo)入數(shù)據(jù)。與選擇查詢和更新查詢類似,追加查詢的范圍也可以利用條件加以限制。按照下面的步驟將“學(xué)生檔案表”中的記錄追加到一個(gè)結(jié)構(gòu)類似、內(nèi)容為空的表中。如圖4.58-4.61所示。追加學(xué)生檔案表副本(見(jiàn)示例數(shù)據(jù)庫(kù))4.8操作查詢?cè)趯?shí)際的應(yīng)用過(guò)程中,追加查詢往往是帶有條件的操作,如圖4.62所示的查詢?cè)O(shè)計(jì)視圖,就是將成績(jī)大于85分的學(xué)生記錄追加到“優(yōu)秀學(xué)生表”中(注意:應(yīng)先建立“優(yōu)秀學(xué)生表”,其中包含“學(xué)號(hào)”,“姓名”,“院系”和“專業(yè)”四個(gè)字段,數(shù)據(jù)類型及字段屬性同“學(xué)生檔案表”)。追加優(yōu)秀學(xué)生表(見(jiàn)示例數(shù)據(jù)庫(kù))4.8操作查詢4.8.4刪除查詢?nèi)绻枰獜臄?shù)據(jù)庫(kù)的某個(gè)數(shù)據(jù)表中有規(guī)律地成批刪除一些記錄,可以使用刪除查詢來(lái)解決。應(yīng)用刪除查詢對(duì)象成批地刪除數(shù)據(jù)表中的記錄,應(yīng)該指定相應(yīng)的刪除條件,否則就會(huì)刪除數(shù)據(jù)表中的全部數(shù)據(jù)。下面通過(guò)一個(gè)示例——?jiǎng)h除“學(xué)生檔案表副本”中所有10級(jí)學(xué)生記錄來(lái)學(xué)習(xí)刪除查詢(假設(shè)學(xué)號(hào)的前兩位表示年級(jí)),步驟如圖4.63-4.64所示。刪除10級(jí)學(xué)生記錄(見(jiàn)示例數(shù)據(jù)庫(kù))4.8操作查詢4.8.5生成表查詢?cè)贏ccess中,從表中訪問(wèn)數(shù)據(jù)要比從查詢中訪問(wèn)數(shù)據(jù)快得多,如果經(jīng)常要從幾個(gè)表中提取數(shù)據(jù),最好的方法是使用Access提供的生成表查詢,即從多個(gè)表中提取數(shù)據(jù)組合起來(lái)生成一個(gè)新表永久保存。例如:以“學(xué)生檔案表”和“學(xué)生成績(jī)表”為數(shù)據(jù)源生成如圖4.65所示的新表“外語(yǔ)學(xué)院學(xué)生成績(jī)”步驟如圖4.66-4.68所示。生成外語(yǔ)學(xué)院學(xué)生成績(jī)表(見(jiàn)示例數(shù)據(jù)庫(kù))4.8操作查詢SQL語(yǔ)言作為一種通用的數(shù)據(jù)庫(kù)操作語(yǔ)言,并不是Access用戶必須要掌握的,但在實(shí)際的工作中有時(shí)必須用到這種語(yǔ)言才能完成一些特殊的工作。使用SQL查詢創(chuàng)建的查詢有以下4種:聯(lián)合查詢、傳遞查詢、數(shù)據(jù)定義查詢和子查詢。4.9SQL查詢4.9.1SQL查詢視圖的切換在建立查詢的時(shí)候可以切換到SQL視圖中,下面看看是怎么切換的。在功能區(qū)“創(chuàng)建”選項(xiàng)卡下的“查詢”組中,單擊“查詢?cè)O(shè)計(jì)”按鈕,打開(kāi)查詢?cè)O(shè)計(jì)視圖,并彈出“顯示表”對(duì)話框,直接關(guān)閉“顯示表”對(duì)話框,功能區(qū)“查詢工具/設(shè)計(jì)”選項(xiàng)卡下的“結(jié)果”組中出現(xiàn)“SQL視圖”按鈕,單擊該按鈕切換到如圖4.69所示的SQL視圖。如果是已經(jīng)建好的查詢,可以從“結(jié)果”組中的視圖下拉列表中選擇“SQL視圖”進(jìn)行切換。4.9SQL查詢4.9.2聯(lián)合查詢聯(lián)合查詢可以將兩個(gè)或兩個(gè)以上的表或查詢所對(duì)應(yīng)的多個(gè)字段的記錄合并為一個(gè)查詢表中的記錄。執(zhí)行聯(lián)合查詢時(shí),將返回所包含的表或查詢中對(duì)應(yīng)字段的記錄。創(chuàng)建聯(lián)合查詢的惟一方法是使用SQL窗口。SELECT語(yǔ)句的一般語(yǔ)法格式為:SELECT[predicate]{*|table.*|[table.]field1[ASalias1][,[table.]field2[ASalias2][,…]]}FROMtableexpression[,…][INexternaldatabase][WHERE…][GROUPBY…][HAVING…][ORDERBY…][WITHOWNERACCESSOPTION]4.9SQL查詢下面使用聯(lián)合查詢將“教師表”中的“教師姓名”和“所屬院系名稱”字段與“學(xué)生檔案表”中的“姓名”和“院系”字段內(nèi)容合并起來(lái)顯示輸出,步驟如圖4.70-4.71所示。教師學(xué)生(見(jiàn)示例數(shù)據(jù)庫(kù))注意:(1)要為兩個(gè)SELCET語(yǔ)句以相同的順序指定相同的字段——SQL語(yǔ)句的列數(shù)相同,并且相應(yīng)列的數(shù)據(jù)類型也相同。此時(shí),Access不會(huì)關(guān)心每個(gè)列的名稱。當(dāng)列的名稱不相同時(shí),查詢會(huì)使用來(lái)自第一個(gè)SELECT語(yǔ)句的名稱。4.9SQL查詢(2)如果不需要返回重復(fù)記錄,可以輸入帶有UNION運(yùn)算的SQLSELECT語(yǔ)句;如果需要返回重復(fù)記錄,可以輸入帶有UNIONALL運(yùn)算的SQLSELECT語(yǔ)句。即將上面的例子改為:SELECT教師姓名,所屬院系名稱
FROM教師檔案表UNIONALLSELECT姓名,院系
FROM學(xué)生檔案表;4.9SQL查詢(3)如果要在聯(lián)合查詢中指定排序,應(yīng)在最后一個(gè)SELECT語(yǔ)句的末端添加一個(gè)ORDERBY從句。在ORDERBY從句中指定要排序的字段名,并且該字段必須來(lái)源于第一個(gè)SELECT語(yǔ)句。即將上面的例子改為:SELECT教師姓名,所屬院系名稱
FROM教師檔案表UNIONSELECT姓名,院系
FROM學(xué)生檔案表ORDERBY教師姓名;4.9SQL查詢4.9.3傳遞查詢Access傳遞查詢可直接將命令發(fā)送到ODBC數(shù)據(jù)庫(kù)服務(wù)器。使用傳遞查詢,不必連接服務(wù)器上的表,就可直接使用相應(yīng)的表。應(yīng)用傳遞查詢的主要目的是為了減少網(wǎng)絡(luò)負(fù)荷。使用傳遞查詢會(huì)為查詢添加3個(gè)新屬性,分別是:(1)ODBC連接字符串:指定ODBC連接字符串,默認(rèn)值為ODBC。(2)返回記錄:指定查詢是否返回記錄,默認(rèn)值為“是”。(3)日志消息:指定Access是否將來(lái)自服務(wù)器的警告和信息記錄在本地表中,默認(rèn)值為“否”。4.9SQL查詢4.9.4數(shù)據(jù)定義查詢數(shù)據(jù)定義查詢是SQL的一種特定查詢。使用數(shù)據(jù)定義查詢可以在數(shù)據(jù)庫(kù)中創(chuàng)建或更改對(duì)象。使用數(shù)據(jù)定義查詢可以在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建、刪除、更改表或創(chuàng)建索引,每個(gè)數(shù)據(jù)定義查詢只包含一條數(shù)據(jù)定義語(yǔ)句。
用SQL數(shù)據(jù)定義查詢來(lái)處理表或索引的操作步驟如下:(1)在功能區(qū)“創(chuàng)建”選項(xiàng)卡下的“查詢”組中,單擊“查詢?cè)O(shè)計(jì)”按鈕,打開(kāi)查詢?cè)O(shè)計(jì)視圖,并彈出“顯示表”對(duì)話框,直接關(guān)閉“顯示表”對(duì)話框,在功能區(qū)“查詢工具/設(shè)計(jì)”選項(xiàng)卡下的“查詢類型”組中單擊“數(shù)據(jù)定義”按鈕,切換到SQL視圖。4.9SQL查詢(2)在“數(shù)據(jù)定義查詢”窗口中輸入SQL語(yǔ)句,Access支持下列數(shù)據(jù)定義語(yǔ)句。(3)運(yùn)行查詢。CREATETABLE:創(chuàng)建表。CREATETABLE語(yǔ)句不會(huì)覆蓋已經(jīng)存在的同名表,如果表已經(jīng)存在,會(huì)返回一個(gè)錯(cuò)誤消息,并取消這一任務(wù)。
下面的語(yǔ)句創(chuàng)建一個(gè)名為Newtable的新表,表中有兩個(gè)字段name1和name2。
CREATETABLENewtable(name1TEXT,name2TEXT);4.9SQL查詢ALTERTABLE:在已有表中添加新字段、刪除字段和添加約束等。添加字段、約束:ALTERTABLE表名ADD字段名稱數(shù)據(jù)類型
刪除字段、約束:ALTERTABLE表名DROP字段名稱修改字段:ALTERTABLE表名ALTER字段名稱數(shù)據(jù)類型4.9SQL查詢DROP:從數(shù)據(jù)庫(kù)中刪除表,或者從字段或字段組中刪除索引。注意,一定要慎用DROPTABLE語(yǔ)句,一旦使用以后就無(wú)法恢復(fù)表或其中的數(shù)據(jù)。下面的語(yǔ)句從“學(xué)生選課管理系統(tǒng)”數(shù)據(jù)庫(kù)中刪除“學(xué)生檔案表備份”。DROPTABLE學(xué)生檔案表備份;下面的語(yǔ)句從“學(xué)生選課管理系統(tǒng)”數(shù)據(jù)庫(kù)中刪除“學(xué)生檔案表”中名為“姓名”的索引。DR
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 7《中華民族一家親》 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治五年級(jí)上冊(cè)統(tǒng)編版
- 9 改變世界的四大發(fā)明 改變世界的四大發(fā)明 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治五年級(jí)上冊(cè)統(tǒng)編版
- 居間介紹傭金合同范本
- 果園托管合同范本
- 21 古詩(shī)詞三首-楓橋夜泊教學(xué)設(shè)計(jì)-2024-2025學(xué)年五年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 紅城租房合同范本
- 5《七律·長(zhǎng)征》教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 地面保潔合同范本
- 7《湯姆·索亞歷險(xiǎn)記》(節(jié)選)教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè)
- 2024年九年級(jí)數(shù)學(xué)中考專題 反比例函數(shù) 教學(xué)設(shè)計(jì)
- 國(guó)家科技安全教學(xué)課件
- DB3301T 1088-2018 杭州龍井茶栽培技術(shù)規(guī)范
- 2010浙G22 先張法預(yù)應(yīng)力混凝土管樁
- 安徽省部分省示范中學(xué)2025屆高三第一次模擬考試英語(yǔ)試卷含解析
- 工程機(jī)械租賃服務(wù)方案及保障措施 (二)
- 部編版初中語(yǔ)文7-9年級(jí)教材必背古詩(shī)詞、古文99篇詳細(xì)解析及欣賞
- DB36T 1393-2021 生產(chǎn)安全風(fēng)險(xiǎn)分級(jí)管控體系建設(shè)通則
- 檔案三合一制度培訓(xùn)
- Unit 1 I go to school by bus. Period 4(說(shuō)課稿)-2023-2024學(xué)年教科版(廣州)英語(yǔ)二年級(jí)下冊(cè)
- 《市場(chǎng)營(yíng)銷學(xué)》講稿
- 學(xué)校安全隱患報(bào)告和舉報(bào)獎(jiǎng)懲制度
評(píng)論
0/150
提交評(píng)論