羅斯文數(shù)據(jù)庫(kù)教程.doc_第1頁(yè)
羅斯文數(shù)據(jù)庫(kù)教程.doc_第2頁(yè)
羅斯文數(shù)據(jù)庫(kù)教程.doc_第3頁(yè)
羅斯文數(shù)據(jù)庫(kù)教程.doc_第4頁(yè)
羅斯文數(shù)據(jù)庫(kù)教程.doc_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余67頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

羅斯文數(shù)據(jù)庫(kù)教程馬麗2009年3月14日羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載摘要:羅斯文數(shù)據(jù)庫(kù)簡(jiǎn)介正文: 羅斯文庫(kù)是Access自帶的示例數(shù)據(jù)庫(kù),也是一個(gè)很好學(xué)習(xí)教程。讓我們一起來(lái)學(xué)習(xí)一下吧。通過(guò)羅斯文數(shù)據(jù)庫(kù)的學(xué)習(xí),能對(duì)數(shù)據(jù)庫(kù)的表、關(guān)系、查詢、報(bào)表、窗體、切換面板等內(nèi)容有個(gè)全面的了解。 我們做數(shù)據(jù)庫(kù)開(kāi)發(fā),應(yīng)該來(lái)講是現(xiàn)實(shí)生活中一種管理思路的體現(xiàn)與高度概括。那么要構(gòu)思之前肯定要對(duì)整個(gè)流程有個(gè)清晰的了解。那我們就先來(lái)了解一下這個(gè)羅斯文公司的業(yè)務(wù)流程吧。羅斯文公司是一個(gè)虛構(gòu)的商貿(mào)公司,該公司進(jìn)行世界范圍的食品的采購(gòu)與銷售,就是通常所講的買進(jìn)來(lái)再賣出去,賺取中間的差價(jià)。羅斯文公司銷售的食品分為幾大類,每類食品又細(xì)分出各類具體的食品。這些食品由多個(gè)供應(yīng)商提供,然后再由銷售人員售給客戶。銷售時(shí)需要填寫訂單,并由貨運(yùn)公司將產(chǎn)品運(yùn)送給客戶。 要打開(kāi)“羅斯文數(shù)據(jù)庫(kù)”,先啟動(dòng)Access,從“幫助”菜單選擇“示例數(shù)據(jù)庫(kù)”“羅斯文數(shù)據(jù)庫(kù)”即可。如你所安裝的是精簡(jiǎn)版不帶有示例數(shù)據(jù)庫(kù),那就從網(wǎng)上下載一個(gè)吧。圖一注:本教程著重在實(shí)例講解,不含最基本的一些概念及操作說(shuō)明,如需學(xué)習(xí)基礎(chǔ)教程請(qǐng)自己看書或參考其他教程。如果您沒(méi)有注冊(cè)這個(gè)論壇,請(qǐng)趕快注冊(cè)吧,與我在論壇進(jìn)行交流,共同學(xué)習(xí)提高。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(2)摘要:表設(shè)計(jì)思路及表的數(shù)據(jù)類型、字段屬性正文: 首先要做的事是設(shè)計(jì)表,表的設(shè)計(jì)思路就是將數(shù)據(jù)分類,同一類的數(shù)據(jù)放在一個(gè)表中,并且有一個(gè)字段與其他表之間建立聯(lián)系。而且要盡可能的細(xì)分,以最大限度的保證每個(gè)表中不存在重復(fù)的數(shù)據(jù)資料。 比如說(shuō)銷售訂單吧,肯定要記錄客戶的具體資料如名稱、地址、電話等方便聯(lián)系;還要記錄訂單的日期,運(yùn)費(fèi)等;以及每張訂單中都有哪些具體的產(chǎn)品、數(shù)量、價(jià)格等信息。如果我們把這么多信息記錄在一張表里的話,那就要錄入許多重復(fù)的信息,比如客戶的資料,不僅很麻煩還很容易出錯(cuò)。 所以應(yīng)該細(xì)分為客戶表專門維護(hù)客戶的信息;訂單表記錄訂單的日期,運(yùn)費(fèi);訂單名細(xì)表記錄具體的產(chǎn)品數(shù)量及價(jià)格;另外還需要產(chǎn)品表、供應(yīng)商表、雇員表、運(yùn)貨商表及類別表。 “羅斯文數(shù)據(jù)庫(kù)”中共有個(gè)表,選中表,以詳細(xì)信息的視圖來(lái)查看各個(gè)表的說(shuō)明,見(jiàn)圖二。 圖二 關(guān)于數(shù)據(jù)庫(kù)的基本組成表,查詢,窗體等及表的基本組成字段,記錄等概念就不用再講了吧。其中一些常用的知識(shí)將在示例中一起講解。在表設(shè)計(jì)中重點(diǎn)要掌握的是數(shù)據(jù)類型、字段屬性的設(shè)置與應(yīng)用。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(3)摘要:數(shù)據(jù)類型的用法正文: 一、數(shù)據(jù)類型的用法文本用于存儲(chǔ)不需要計(jì)算的數(shù)字,文本、其他字符或組合內(nèi)容。最多可存儲(chǔ)255個(gè)漢字,英文或字符。備注用于存儲(chǔ)長(zhǎng)文本和數(shù)字。如注釋或說(shuō)明。最多可存儲(chǔ)65536個(gè)漢字,英文或字符。數(shù)字用于存儲(chǔ)要進(jìn)行計(jì)算的數(shù)據(jù)。如庫(kù)存量,銷售數(shù)量等。日期/時(shí)間用于存儲(chǔ)日期和時(shí)間,如出生日期,發(fā)貨日期等。要注意日期型數(shù)據(jù)要注意分隔符的正確使用。以“-”,“/”分隔年月日,如“2007-01-10”,而“2007.01.10”這種格式是錯(cuò)誤的。貨幣用于存儲(chǔ)貨幣值,計(jì)算期間禁止四舍五入,精度較高。如單價(jià)。自動(dòng)編號(hào)用于在添加記錄時(shí)自動(dòng)插入一個(gè)唯一不重復(fù)的編號(hào),如員工編號(hào)等。一般用作主鍵。是/否用于存儲(chǔ)二選一的數(shù)據(jù),如“是/否”,“真/假”,“開(kāi)/關(guān)”等。OLE對(duì)象用于存儲(chǔ)一些用其他應(yīng)用程序創(chuàng)建的對(duì)象,如WORD文檔,EXCEL表格,圖片等。如員工照片。超鏈接用于存儲(chǔ)超鏈接。如網(wǎng)址,EMAIL地址。10查閱向?qū)Р殚喯驅(qū)г试S用戶使用組合框或列表框選擇來(lái)自其他表或來(lái)自值列表的數(shù)據(jù)。在表設(shè)計(jì)視圖新增該數(shù)據(jù)類型的字段會(huì)啟動(dòng)向?qū)нM(jìn)行定義羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(4)摘要:字段屬性正文: 二、字段屬性字段屬性是指字段擁有的一些特點(diǎn),不同數(shù)據(jù)類型的字段,屬性也不盡相同,常用的屬性如下:字段大小文本型字段,默認(rèn)的大小為50;數(shù)字型字段,默認(rèn)大小為長(zhǎng)整型;自動(dòng)編號(hào)的字段,默認(rèn)大小也是長(zhǎng)整型。格式格式屬性決定了單元格中數(shù)據(jù)的顯示和打印方式,所看到的并不一定就是表中所存儲(chǔ)的。小數(shù)位數(shù)小數(shù)位數(shù)屬性決定了在單元格中顯示幾位小數(shù)。如設(shè)為0,將不顯示小數(shù)。輸入掩碼輸入掩碼屬性決定了數(shù)據(jù)輸入和保存的方式。標(biāo)題標(biāo)題屬性影響著字段的顯示名稱,默認(rèn)情況下,標(biāo)題與字段名相同,也可以輸入不同內(nèi)容,在數(shù)據(jù)表視圖中打開(kāi)表時(shí),將看到字段的列標(biāo)題與標(biāo)題屬性相同。默認(rèn)值在默認(rèn)值中填入數(shù)據(jù)時(shí),在新增記錄時(shí)將自動(dòng)將該值添加到相應(yīng)的字段中。有效性規(guī)則有效性規(guī)則用于限制在字段中輸入的數(shù)據(jù),在數(shù)據(jù)錄入后,自動(dòng)檢查是否滿足有效性規(guī)則,如不滿足則發(fā)出警告,不接受錄入值。如在單價(jià)字段的在效性規(guī)則中填入:0,即可防止忘記填寫該數(shù)據(jù),或誤填入負(fù)數(shù)。有效性文本在用戶錄入時(shí)如違反有效性規(guī)則時(shí),系統(tǒng)會(huì)發(fā)出警告,而如果有效性文本中填入了內(nèi)容,則在提示時(shí),對(duì)話框中會(huì)顯示有效性文本中的內(nèi)容,替代系統(tǒng)的提示內(nèi)容。必填字段必填字段如果設(shè)為是,那么在錄入數(shù)據(jù)時(shí)必須在該字段填入相應(yīng)的數(shù)據(jù)。10允許空字符串字符串的概念是以字符形式存儲(chǔ)的數(shù)據(jù),一般要在字符串的兩端加上英文的雙引號(hào),如”abc”等,而在文本和備注型的字段中,無(wú)需加入英文雙引號(hào),錄入數(shù)據(jù)會(huì)直接作為字符串處理。如果允許空字符串設(shè)為否,將不允許輸入空字符串。這里要注意的是空字符中”與空格字符串是不同的” ”,前者雙引號(hào)中沒(méi)有空格。11輸入法模式輸入法模式可以設(shè)為開(kāi)啟或關(guān)閉,根據(jù)字段中是否要輸入中文字,做好設(shè)置,可以避免錄入人員在中英文輸入法之間做切換。12索引索引用于加快排序,查詢和分組操作的速度。索引的值有3種,如果字段為主鍵,將自動(dòng)設(shè)索引的屬性為有(無(wú)重復(fù)),另外兩種是有(有重復(fù))和無(wú)。索引屬性中只能設(shè)置單一字段的索引,如果要設(shè)置多字段索引,可在設(shè)計(jì)視圖中,點(diǎn)擊工具欄的索引(或菜單視圖索引),在索引框中設(shè)置。圖三具體的用法及示例將結(jié)合羅斯文示例進(jìn)行說(shuō)明羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(5)摘要:一、“供應(yīng)商”表正文: 表的具體分析:一、“供應(yīng)商”表 供應(yīng)商表記錄的是為羅斯文公司提供貨源的廠商記錄圖四 選擇 “供應(yīng)商”表,單擊“設(shè)計(jì)”按鈕,進(jìn)入表設(shè)計(jì)視圖,表中的字段包括了常用的聯(lián)系信息。圖五 我們重點(diǎn)來(lái)關(guān)注一下“供應(yīng)商ID”字段。這是一個(gè)自動(dòng)編號(hào)類型的字段,在表中具有唯一性,一般的我們?cè)O(shè)計(jì)的表中都需要一個(gè)唯一的不重復(fù)的字段,我們可以把該字段設(shè)為主鍵,該字段將會(huì)用于與其他表之間建立關(guān)系。 表中的大部分字段都是文本類型,大小可以根據(jù)實(shí)際要輸入的內(nèi)容來(lái)設(shè)置,比如城市,地區(qū)的字段設(shè)為,而地址的字段大小是。采用合適的大小會(huì)盡可能的減少存儲(chǔ)空間的占用。一般不需要進(jìn)行數(shù)據(jù)計(jì)算的字段我們都用文本類型來(lái)存儲(chǔ)。 主頁(yè)和Email之類的可以采用起超鏈接類型。 查看該表中的索引圖六 可以發(fā)現(xiàn)公司名稱和郵政編碼字段的索引屬性為有(有重復(fù))也即唯一索引為否,主要是為了通過(guò)索引加快對(duì)這兩個(gè)字段的查詢等操作,有重復(fù)說(shuō)明該字段中的數(shù)據(jù)是有可能重復(fù)的,比如兩個(gè)公司在同一地區(qū),那郵政編碼就是一樣的。 另外我們?cè)诔R?guī)屬性中除了字段大小屬性以外,還有其他的一些屬性,可以在相應(yīng)的欄內(nèi)點(diǎn),查看相應(yīng)的幫助羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(6)摘要:“類別”表正文: 二、“類別”表 劃分類別是表設(shè)計(jì)時(shí)的必須要考慮的,因?yàn)椴煌悇e的產(chǎn)品可能由不同的部門負(fù)責(zé)銷售,為了方便統(tǒng)計(jì)出各類產(chǎn)品或部門的銷售情況,須將產(chǎn)品進(jìn)行分類。類別表中將產(chǎn)品分為8大類。圖七 選擇類別表,點(diǎn)設(shè)計(jì),進(jìn)入設(shè)計(jì)計(jì)視圖圖八 可以看到“類別ID”是自動(dòng)編號(hào)類型,用作主鍵; 說(shuō)明字段,數(shù)據(jù)類型為備注,在實(shí)際操作中如果要說(shuō)明的字?jǐn)?shù)不會(huì)超過(guò)255個(gè)字符,可以采用文本類型,這樣更節(jié)省空間。 圖片字段的數(shù)據(jù)類型是OLE對(duì)象,OLE對(duì)象在表中不能直觀地看到圖片,如果要查看圖片可以在字段上雙擊,如需插入,則在圖片字段上單擊右鍵,選擇“插入對(duì)象”,再?gòu)膶?duì)話框中選擇“由文件創(chuàng)建”,瀏覽到所需圖片,也可以鏈接對(duì)象,這樣只是保存了鏈接地址,不會(huì)直接把文件插入數(shù)據(jù)庫(kù)。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(7)摘要:“產(chǎn)品”表正文: 三、“產(chǎn)品”表 產(chǎn)品表中保存了羅斯文公司銷售的各種產(chǎn)品的明細(xì)數(shù)據(jù)。這個(gè)表清楚的記載了每個(gè)產(chǎn)品是屬于什么類別,供應(yīng)商是誰(shuí),庫(kù)存量,單價(jià)等信息,是填寫訂貨單時(shí)的重要依據(jù)。圖九 選中“產(chǎn)品”表,點(diǎn)設(shè)計(jì),進(jìn)入設(shè)計(jì)視圖 “產(chǎn)品ID”是自動(dòng)編號(hào)類型的主鍵; 單價(jià),庫(kù)存量,訂購(gòu)量,再訂購(gòu)量字段中設(shè)置的有效性規(guī)則與有效文本性文本屬性,可以學(xué)習(xí)一下; “中止”字段的數(shù)據(jù)類型是“是/否”型,這對(duì)于處理兩選一的結(jié)果最為合適; 重點(diǎn)來(lái)關(guān)注一下“供應(yīng)商ID”和“類別ID”,這兩個(gè)字段都是數(shù)字類型,分別對(duì)應(yīng)“供應(yīng)商”表中主鍵和“類別”表中的主鍵。先來(lái)看下“供應(yīng)商ID”,這個(gè)字段的標(biāo)題屬性中填的是“供應(yīng)商”,這樣在數(shù)據(jù)表視圖中,看到的字段標(biāo)題就會(huì)是“供應(yīng)商”,而不是默認(rèn)的“供應(yīng)商ID”。另外這兩個(gè)字段都是查閱列,這是一個(gè)很有用的屬性,我們對(duì)“供應(yīng)商ID”作一下詳細(xì)的講解,“類別ID”與“供應(yīng)商ID”的設(shè)置方法相同。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(8)摘要:查閱列正文: 查閱列我們?cè)诒碇休斎霐?shù)據(jù)時(shí),經(jīng)常會(huì)遇到需要重復(fù)輸入的內(nèi)容,比如人員的性別為“男”或“女”,這是單表中的重復(fù)錄入;比如產(chǎn)品表中需要輸入“供應(yīng)商”,而“供應(yīng)商”字段在“供應(yīng)商”表中已經(jīng)錄入過(guò)了,這屬于跨表的重復(fù)錄入。這些內(nèi)容如果直接錄入不僅花費(fèi)了用戶較多的時(shí)間,而且極容易出錯(cuò)。為了方便用戶錄入重復(fù)性的數(shù)據(jù),可以借助ACCESS提供的查閱列的功能。圖首先來(lái)看下查閱列中的各項(xiàng)具體屬性顯示控件圖從顯示控件右側(cè)的下拉框中可以看到該屬性可以設(shè)為文本框,列表框或組合框。如果設(shè)為文本框,那數(shù)據(jù)就只有接受從文本框中的錄入,查閱的其他屬性都不可用。我們主要要掌掘的是列表框和組合框的使用。組合框和列表框的使用基本相同,只是列表框除了可以從列表中選擇還可以接受錄入,相當(dāng)于是列表框各文本框的組合。行來(lái)源類型圖行來(lái)源類型是指控件中的數(shù)據(jù)來(lái)自于何處。共有三處選擇,表/查詢,值列表,字段列表。如果選擇“表/查詢”,則列表框或組合框中的數(shù)據(jù)將來(lái)源于其他表或查詢中的結(jié)果。如果要錄入其他表中已經(jīng)存在的數(shù)據(jù),或錄入從幾個(gè)表中查詢得到的結(jié)果,用這個(gè)選項(xiàng)最為方便。如果選擇“值列表”,只需在行來(lái)源中直接輸入列表中的數(shù)據(jù),并用英文分號(hào)隔開(kāi)即可。這種類型只適合于輸入的內(nèi)容固定在某幾個(gè)值之間,如性別的值可以是“男”或“女”。如果選擇“字段列表”,該字段中將填入某個(gè)表中的字段名稱信息。這種類型較少用到, “表/查詢”的使用就包含了這種簡(jiǎn)單的用法。行來(lái)源“行來(lái)源”中是列表框或組合框中將要列出的數(shù)據(jù)。如果“行來(lái)源類型”是“表/查詢”,可單擊“行來(lái)源”右側(cè)的下拉箭頭,選擇某個(gè)表或查詢,以該表或查詢中的數(shù)據(jù)作為列表框或組合框中的數(shù)據(jù)。如果沒(méi)有直接的查詢可用,也可以單擊右側(cè)的生成器 ,在查詢生成器中直接創(chuàng)建SQL語(yǔ)句。如果“行來(lái)源類型”是“值列表”,直接輸入即可,如“男;女;”如果“行來(lái)源類型”是“字段列表”,可單擊右側(cè)的下攔箭頭,選擇某個(gè)表,以該表中的字段名稱作為列表框或組合框中的數(shù)據(jù)。綁定列在列表框或組合框中進(jìn)行選擇時(shí),所顯示出來(lái)的數(shù)據(jù)并不一定就是存儲(chǔ)在該字段中的內(nèi)容。在“綁定列”中設(shè)置的列中的值才是表中真正存儲(chǔ)的值。列數(shù)在列表框或組合框中所顯示的列數(shù),可以同時(shí)顯示表中的多列。列標(biāo)題用字段名稱,字段標(biāo)題或首行數(shù)據(jù)作為列表框或組合框中列的標(biāo)題。如果在列表框或組合框中同時(shí)顯示多列時(shí),加上標(biāo)題方便識(shí)別各列的內(nèi)容。列寬列表框或組合框中有多列時(shí),可指定每列的寬度,每列寬度之間以英文分號(hào)分隔。如列數(shù)為3列,則可設(shè)列寬為:2;2;2,系統(tǒng)會(huì)自動(dòng)加上cm單位;如果某一列無(wú)需顯示,則列寬設(shè)為0即可。如:0;2;2。列表行數(shù)是指在組合框中一次最多可以顯示的行數(shù),其余的數(shù)據(jù)需拖動(dòng)滾動(dòng)條查看。列表寬度在組合框中,列表框部分的寬度,可以設(shè)為“自動(dòng)”,也可以設(shè)為數(shù)值。10限于列表在組合框中,如果允許輸入除列表框中值以外的數(shù)據(jù),則選擇“否”。如果值必須為列表中的一項(xiàng)時(shí),則選擇“是”。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(9)摘要:查閱列示例正文: 示例:在“產(chǎn)品”表中,設(shè)置“供應(yīng)商ID”字段的查閱列屬性在數(shù)據(jù)庫(kù)窗口中,選擇“產(chǎn)品”表,單擊設(shè)計(jì),進(jìn)入設(shè)計(jì)視圖??梢栽谧詈笠粋€(gè)字段的下面的第一個(gè)空白行,輸入新字段名稱“供應(yīng)商2”,設(shè)置完相關(guān)屬性后,可以與“供應(yīng)商ID”字段進(jìn)行比較。數(shù)據(jù)類型改為數(shù)字,在這里說(shuō)明一下,在表中相關(guān)聯(lián)的兩個(gè)字段的數(shù)據(jù)類型必須相同,而且字段大小也要相同。在本例中因?yàn)樵凇肮┥瘫怼保肮?yīng)商ID”字段是自動(dòng)編號(hào)類型,自動(dòng)編號(hào)的字段默認(rèn)大小是長(zhǎng)整型,所以在這里“供應(yīng)商2”的數(shù)據(jù)類型必須為數(shù)字,字段大小為長(zhǎng)整型。在下半部分窗口中選擇“查閱”選項(xiàng)卡,將顯示控件改為組合框。圖在行來(lái)源類型中選擇“表/查詢”。點(diǎn)擊行來(lái)源右側(cè)的生成器 按鈕,在顯示表中,選中“供應(yīng)商”表,點(diǎn)添加后關(guān)閉。從表中選擇字段供應(yīng)商ID,公司名稱,可以雙擊,也可以拖入下方的字段中。設(shè)置公司名稱字段的排序?yàn)樯?,代表組合框中的供應(yīng)商按名稱進(jìn)行排序。圖點(diǎn)關(guān)閉按鈕,跳出提示窗口圖點(diǎn)“是”在綁定列中填入1,代表該字段存儲(chǔ)的值是查詢結(jié)果中第一列“供應(yīng)商ID”中的值。要求這兩者的數(shù)據(jù)類型必須相同,本例中都為長(zhǎng)整型。在列數(shù)中填入2,代表有兩列。列標(biāo)題選“否”。列寬中填入0;2。羅斯文示例中,第2列的寬并沒(méi)有填入,這是因?yàn)榱斜韺挾仍O(shè)為了自動(dòng),不隱藏的寬度都會(huì)根據(jù)字段的大小自動(dòng)顯示出來(lái)。列表行數(shù)默認(rèn)為8。10列表寬度為自動(dòng),限于列表選“是”。圖11關(guān)閉設(shè)計(jì)視圖并保存修改,切換到數(shù)據(jù)表視圖,體會(huì)查閱列的用法。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(10)摘要:“客戶”表正文: 客戶表及運(yùn)貨商表 “客戶”表記錄的是羅斯文公司的客戶信息,類似于“供應(yīng)商”表。 通過(guò)對(duì)“客戶”表設(shè)計(jì)視圖的查看可以發(fā)現(xiàn)表中的“客戶ID”字段與前幾個(gè)表中的ID字段不同,沒(méi)有采用自動(dòng)編號(hào)的數(shù)據(jù)類型,而是用了文本類型,長(zhǎng)度為。這個(gè)“客戶ID”字段也是作為主鍵的,也就是說(shuō)不允許在該表中輸入重復(fù)的客戶代碼。在“客戶ID”字段中還設(shè)置了“輸入掩碼”的屬性,“LLLLL”,“”是將所有輸入的字符自動(dòng)轉(zhuǎn)為大寫,這樣在輸入時(shí)就不用理會(huì)大小寫,“L”代表字母A-Z,是必選項(xiàng)。這樣設(shè)置的意思就是在“客戶ID”字段中必須輸入5個(gè)字母,不能輸入其他的字符或者少一位。 “輸入掩碼”可以幫助客戶準(zhǔn)確地輸入數(shù)據(jù),避免不必要的錯(cuò)誤。比如可以用“000000000000000999”來(lái)作為身份證的輸入掩碼,既可以輸入15位數(shù)字,也可以輸入18位數(shù)字,這里的和9都是輸入掩碼的常用控制字符,0代表必選的數(shù)字項(xiàng),9代表可選的數(shù)字和空格。如果想了解有關(guān)更多的輸入掩碼,可以把光標(biāo)放在這一屬性欄里,按F1查看幫助,學(xué)會(huì)用幫助可是個(gè)好習(xí)慣哦。 另外“格式”屬性也是對(duì)字段的格式作的規(guī)范,要注意兩者的區(qū)分?!拜斎胙诖a”是控制輸入和保存方式的,而“格式”屬性是控制輸出和打印方式的,如在“輸入掩碼”中使用“”代表的是不管輸入字符是大寫還是小寫,在數(shù)據(jù)庫(kù)中保存的都會(huì)是大寫的字符,而如果在“格式”中使用“”代表的是在該字段中顯示為大寫,而不管實(shí)際存在數(shù)據(jù)庫(kù)中字符的大小寫。如果一個(gè)字段既定義了“格式”屬性又定義的“輸入掩碼”屬性,則在顯示數(shù)據(jù)時(shí),“格式”屬性優(yōu)先于“輸入掩碼”屬性,而在保存數(shù)據(jù)時(shí)則相反。 “客戶”表中其他字段都采用文本類型。 “運(yùn)貨商”表記錄的是幫助羅斯文公司運(yùn)送貨物的公司的聯(lián)系信息。這個(gè)表中沒(méi)有新的知識(shí)點(diǎn),不再進(jìn)行細(xì)講。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(11)摘要:“雇員”表正文: 雇員表 “雇員”表記錄的是羅斯文公司的雇員信息。 雇員的姓氏和名字分別用兩個(gè)字段來(lái)代表,這樣設(shè)計(jì)是考慮到能把信息拆分的更細(xì),方便對(duì)更細(xì)的信息進(jìn)行處理,比如可以按照姓氏來(lái)進(jìn)行統(tǒng)計(jì)等等,當(dāng)然如果沒(méi)有這種必要的話,完全可以用姓名一個(gè)字段來(lái)處理。本例中對(duì)地址和電話都進(jìn)行了拆分的處理方法。 選中“雇員”表,單擊設(shè)計(jì)按鈕,進(jìn)入表設(shè)計(jì)視圖?!肮蛦TID”是自動(dòng)編號(hào)的主鍵,“出生日期”是“日期/時(shí)間”類型,它的“格式”屬性是“yyyy-mm-dd”,表示顯示時(shí)的格式,“有效性規(guī)則”屬性是“”,“=”,“=”,“”,“=”;邏輯運(yùn)算符“and”,“or”,“not”;連接運(yùn)算符“&”,“+”;及常用的!和.(點(diǎn))運(yùn)算符。常見(jiàn)的操作數(shù)如字符串,日期/時(shí)間值,常量,變量,函數(shù)及引用窗體或報(bào)表中的字段值,控件值或?qū)傩缘?。常?jiàn)表達(dá)式示例:數(shù)學(xué)及比較運(yùn)算表達(dá)式表達(dá)式說(shuō)明=數(shù)量*價(jià)格計(jì)算數(shù)量與價(jià)格的乘積,可以得出總價(jià)=到貨日期-發(fā)貨日期計(jì)算兩個(gè)日期之間的天數(shù)2500比2500大的數(shù)日期表達(dá)式表達(dá)式說(shuō)明Between #1997-01-01# And #1997-12-31#在1997-01-01各1997-12-31之間的數(shù)據(jù)#2007-12-30#2007-12-30以前的數(shù)據(jù)30大于30歲的男性數(shù)據(jù)= “中國(guó)” & “北京”值為 “中國(guó)北京”通配符表達(dá)式表達(dá)式說(shuō)明Like “張*”以張開(kāi)頭的數(shù)據(jù)Like “張?”以張開(kāi)頭后面還有一個(gè)字的數(shù)據(jù)聚合函數(shù)表達(dá)式表達(dá)式說(shuō)明Sum(數(shù)量*價(jià)格)求數(shù)量和價(jià)格相乘后的和Avg(費(fèi)用)求費(fèi)用的平均值Count(*)計(jì)算記錄條數(shù)羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(17)摘要:“當(dāng)前產(chǎn)品列表”查詢正文: “當(dāng)前產(chǎn)品列表”查詢當(dāng)前產(chǎn)品列表統(tǒng)計(jì)出未被中止的產(chǎn)品。 在數(shù)據(jù)庫(kù)的查詢對(duì)象窗口,雙擊“在設(shè)計(jì)視圖中創(chuàng)建查詢”或單擊“新建”按鈕,在跳出的“新建查詢”的窗口中選擇“設(shè)計(jì)視圖”,進(jìn)入設(shè)計(jì)視圖界面,從顯示表中添加“產(chǎn)品”表。選中“產(chǎn)品ID”,“產(chǎn)品名稱”,“中止”三個(gè)字段(注:選中字段可以把字段從設(shè)計(jì)視圖界面的上方拖到下方,也可以雙擊字段名稱),去掉“中止”下面“顯示”的勾,在條件一欄輸入“no”,代表只查詢出未被中止的產(chǎn)品,但只要顯示產(chǎn)品的ID和名稱就行了,是否中止的狀態(tài)不用顯示出來(lái)。我們還想將輸出的結(jié)果按照產(chǎn)品名稱進(jìn)行排序,在“產(chǎn)品名稱”下面的“排序”欄里選中升序。這樣查詢就完成了,點(diǎn)保存,給查詢起個(gè)名字就可以了。 我們打開(kāi)羅斯文數(shù)據(jù)庫(kù)中的當(dāng)前產(chǎn)品列表查詢,會(huì)發(fā)現(xiàn)數(shù)據(jù)源是“產(chǎn)品列表”,不是“產(chǎn)品”表,這里是用到了表的別名,一般的我們?cè)诓樵冎袨榱朔奖悖?jīng)常會(huì)給比較長(zhǎng)的表名取個(gè)短一些的名稱,更方便引用表。方法是在顯示的表上點(diǎn)擊鼠標(biāo)右鍵,選擇屬性,在別名中填上合適的別名就行了。本例中其實(shí)完全沒(méi)有這個(gè)必要,可能只是想讓大家了解這樣一個(gè)用法而已羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(18)摘要:“各類產(chǎn)品”查詢正文: “各類產(chǎn)品”查詢 各類產(chǎn)品查詢?yōu)楦黝惍a(chǎn)品報(bào)表提供數(shù)據(jù)源,在查詢對(duì)象中選中“各類產(chǎn)品”,單擊“設(shè)計(jì)”按鈕, 我們發(fā)現(xiàn)默認(rèn)的是按SQL視圖顯示的,這時(shí)從“視圖”中選擇“設(shè)計(jì)視圖”即可顯示設(shè)計(jì)視圖,當(dāng)然要再切換到SQL視圖,再?gòu)摹耙晥D”中選擇“SQL視圖”即可。通過(guò)在“設(shè)計(jì)視圖”中設(shè)計(jì)查詢,再切換到“SQL視圖”中查看SQL語(yǔ)句也是我們學(xué)習(xí)SQL語(yǔ)句的方法。 查詢的數(shù)據(jù)來(lái)自“類別”表和“產(chǎn)品”表,“類別名稱”字段和“產(chǎn)品名稱”字段的“排序”都是升序,查詢結(jié)果將先按類別名稱排序,當(dāng)類別名稱相同時(shí)再按照產(chǎn)品名稱排序。中止條件為“no”,結(jié)果只包含未被中止的產(chǎn)品。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(19)摘要:“按漢語(yǔ)拼音順序的產(chǎn)品列表”查詢正文: “按漢語(yǔ)拼音順序的產(chǎn)品列表”查詢 這個(gè)查詢是為“按漢語(yǔ)拼音順序的產(chǎn)品列表”報(bào)表提供數(shù)據(jù)源的。雙擊查詢即可運(yùn)行并顯示查詢的結(jié)果,在查詢結(jié)果中并未按拼音順序來(lái)排列,這個(gè)功能是在報(bào)表中實(shí)現(xiàn)的。進(jìn)入設(shè)計(jì)視圖 這個(gè)查詢的數(shù)據(jù)來(lái)自兩個(gè)表,“類別”表和“產(chǎn)品”表。查詢的結(jié)果中只包含未被中止的產(chǎn)品,因此在產(chǎn)品字段上設(shè)置了條件,這里代表“否”,在ACCESS中用代表“否”,F(xiàn)ALSE,“假”,而用-1代表“是”,TRUE,“真羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(20)摘要:“十種最貴的產(chǎn)品”查詢正文: 十種最貴的產(chǎn)品 進(jìn)入設(shè)計(jì)視圖: 查詢的數(shù)據(jù)來(lái)自于表“產(chǎn)品”,選用的字段只有產(chǎn)品名稱和單價(jià)兩個(gè),如果要給選擇的字段另外取個(gè)名稱,可以給這個(gè)字段前面添加名稱,中間用英文狀態(tài)的冒號(hào)“:”隔開(kāi),如上圖。 要查詢出十種最貴的產(chǎn)品,只要將產(chǎn)品按產(chǎn)品單價(jià)降序來(lái)排列再取前十種即可。在單價(jià)字段上設(shè)好“降序”排列,在工具欄上的上限值列表框中輸入10即可。雙擊查詢查看運(yùn)行結(jié)果,體會(huì)在設(shè)計(jì)視圖中設(shè)置的作用。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(21)摘要:“季度訂單”查詢正文: 季度訂單 這個(gè)查詢列出了在1997年度有訂單的客戶,不是某個(gè)季節(jié)的記錄,而是含蓋了全年度的記錄,這個(gè)結(jié)果用于給“季度訂單”窗體提供數(shù)據(jù)源,在窗體中再具體實(shí)現(xiàn)按四個(gè)季度顯示統(tǒng)計(jì)結(jié)果。 進(jìn)入設(shè)計(jì)視圖: 這個(gè)查詢的數(shù)據(jù)來(lái)自于“客戶”表和“訂單”表,“訂單”表中用到的訂購(gòu)日期只是作為一個(gè)條件項(xiàng),不用被顯示出來(lái),條件里是一個(gè)表達(dá)式,代表的含義是訂購(gòu)日期介于1997年1月1日到12月31日之間的,這里用到“betweenand”這種語(yǔ)法。日期型的數(shù)據(jù)應(yīng)該在兩側(cè)加上“#”號(hào)。接下來(lái)我們還要考慮到有些客戶可能在1997年度有多次訂貨,而我們希望的結(jié)果是每個(gè)客戶只出現(xiàn)一次。這時(shí)可以在查詢視圖的上半部分窗口的空白處右擊鼠標(biāo),從浮動(dòng)菜單中選擇“屬性”,也可直接在工具欄上選擇“屬性”設(shè)置查詢屬性中的“唯一值”屬性為“是”即可。設(shè)置了這個(gè)屬性就能保證每組中的重復(fù)數(shù)據(jù)只會(huì)列出一個(gè)。在這里還要提一下的是要注意一下選擇表的聯(lián)接類型,在聯(lián)接線上雙擊可以顯示聯(lián)接屬性,聯(lián)接屬性分為三種,可以根據(jù)要求選擇。一般默認(rèn)的聯(lián)接類型為,只包含兩個(gè)表中聯(lián)接字段相等的行,在本例中改成聯(lián)接類型為,包含訂單表中的所有記錄,在SQL語(yǔ)句方面分別體現(xiàn)為內(nèi)聯(lián)接,左聯(lián)接和右聯(lián)接,這是有區(qū)別的,可以參考運(yùn)行結(jié)果體會(huì)聯(lián)接的作用。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(22)摘要:“擴(kuò)展訂單明細(xì)”查詢正文: 擴(kuò)展訂單明細(xì) 擴(kuò)展訂單明細(xì)為窗體“客戶訂單子窗體2”提供數(shù)據(jù)源,查詢中帶有計(jì)算字段,查詢出每個(gè)訂單每種產(chǎn)品的一些明細(xì)信息。 進(jìn)入設(shè)計(jì)視圖: 查詢的數(shù)據(jù)來(lái)自于“產(chǎn)品”表和“訂單明細(xì)”表,查詢結(jié)果按訂單ID升序排列。 查詢中的字段總價(jià)是個(gè)計(jì)算字段,總價(jià)為該字段的名稱,計(jì)算表示用“訂單明細(xì)”表中的“單價(jià)”乘以“數(shù)量”后再乘以(1-折扣),相當(dāng)于算出了打過(guò)折后的總價(jià)。字段中用到一個(gè)CCur()轉(zhuǎn)換函數(shù),它的作用是將數(shù)據(jù)轉(zhuǎn)換為貨幣類型,另外表達(dá)式中用了先除以100,再乘以100,相當(dāng)把數(shù)據(jù)還原,同時(shí)小數(shù)點(diǎn)后面保留兩位小數(shù)。不過(guò)我試了直接用CCur(訂單明細(xì).單價(jià)*數(shù)量*(1-折扣),得到的結(jié)果也是兩位的?歡迎共同討論。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(23)摘要:“訂單小計(jì)”查詢正文: 訂單小計(jì) 訂單小計(jì)統(tǒng)計(jì)出每個(gè)訂單上各種產(chǎn)品的銷售金額的總計(jì)金額,為匯總銷售額等多個(gè)查詢提供數(shù)據(jù)。 進(jìn)入設(shè)計(jì)視圖:查詢的數(shù)據(jù)來(lái)自于“訂單明細(xì)”表,選用的字段只有一個(gè)“訂單ID”,小計(jì)字段是個(gè)計(jì)算字段,小計(jì)是這個(gè)字段的名稱,后面是計(jì)算表達(dá)式。計(jì)算方法同“擴(kuò)展訂單名細(xì)”查詢中的“總價(jià)”字段,這里由于只有一個(gè)表,所以訂單明細(xì).單價(jià)可以直接寫成單價(jià),該字段為:小計(jì): CCur(單價(jià)*數(shù)量*(1-折扣)/100)*100。本例到這里只是計(jì)算出了每個(gè)訂單ID中每種產(chǎn)品的總價(jià),而我們要統(tǒng)計(jì)出的是每個(gè)訂單ID中所有產(chǎn)品總價(jià)的和,所以我們要對(duì)訂單ID進(jìn)行分組,要用到“總計(jì)”行的功能,“總計(jì)”行默認(rèn)是不顯示的,可在設(shè)計(jì)窗體的下半部分右擊鼠標(biāo),選擇“總計(jì)”,或者單擊工具欄上的按鈕,這樣都會(huì)多出一行總計(jì)來(lái),在總計(jì)行,可從下拉框中對(duì)每個(gè)字段選擇相應(yīng)的操作,可以作為分組依據(jù)或條件字段也可以選擇聚合函數(shù)或其他函數(shù)來(lái)對(duì)字段進(jìn)行計(jì)算,如果要自己寫表達(dá)式,則選擇表達(dá)式。在本例可以把“訂單ID”字段設(shè)成分組字段,對(duì)“小計(jì)”字段要進(jìn)行求和,只要選成“總計(jì)”就可以了。羅斯文的示例中并沒(méi)有選用“總計(jì)”的功能,而是對(duì)“小計(jì)”字段設(shè)成了“表達(dá)式”,而在表達(dá)式中加上了求和函數(shù)Sum(),大家可以比較一下,用這兩種方法生成的查詢運(yùn)行結(jié)果都是一樣的,而SQL查詢的語(yǔ)句也是一樣的。對(duì)于表達(dá)式如果一開(kāi)始覺(jué)得寫起來(lái)有些困難的話,可以借助于生成器來(lái)生成,生成器中有數(shù)據(jù)庫(kù)中的各種對(duì)象,操作符以及函數(shù),只要進(jìn)行選擇再修改一下就可以了。方法是在字段上右擊鼠標(biāo),從中選擇“生成器”,在生成器的下方選擇相關(guān)參數(shù),計(jì)算符等,表達(dá)式生成在上方可進(jìn)行修改。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(24)摘要:按年度匯總銷售額正文: 按年度匯總銷售額“按年度匯總銷售額”查詢?yōu)椤鞍茨甓葏R總銷售額”報(bào)表提供數(shù)據(jù),另外“按季度匯總銷售額”查詢與本查詢完全一樣,也就是本查詢也能為“按季度匯總銷售額”報(bào)表提供數(shù)據(jù)源,按季度的功能是在報(bào)表中實(shí)現(xiàn)的。本例要統(tǒng)計(jì)出已經(jīng)發(fā)貨的各訂單的計(jì)單ID號(hào)及各訂單小計(jì)金額。進(jìn)入設(shè)計(jì)視圖:查詢的數(shù)據(jù)來(lái)自于查詢“訂單小計(jì)”及“訂單”表,取“訂單”表中的發(fā)貨日期字段,并按該字段升序排列,另外該字段還設(shè)了條件,為“Is Not Null”,這個(gè)表達(dá)式代表數(shù)據(jù)不為空,沒(méi)有填寫過(guò)發(fā)貨日期的記錄則為空,代表尚未發(fā)貨,并排除在外羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(25)摘要:“按金額匯總銷售額”及“各國(guó)雇員銷售額”查詢正文: 10按金額匯總銷售額 “按年度匯總銷售額”查詢統(tǒng)計(jì)了1997年訂單的小計(jì)金額在2500元以上的訂單,為“按金額匯總銷售額”報(bào)表提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖: 查詢的數(shù)據(jù)來(lái)自于“客戶”,“訂單”表及“訂單小計(jì)”查詢。對(duì)小計(jì)字段另取名稱為“銷售金額”,加上條件“2500”,表示只要訂單小計(jì)在2500元以上的記錄;發(fā)貨日期加上條件“Between #1997-1-1#and #1997-12-31# ”表示只要發(fā)貨日期在1997年的記錄。兩個(gè)條件在同一行表示要求同求滿足。11各國(guó)雇員銷售額 “各國(guó)雇員銷售額”查詢統(tǒng)計(jì)各國(guó)雇員的銷售情況,為“各國(guó)雇員銷售額”報(bào)表提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖: 查詢的數(shù)據(jù)來(lái)自于“雇員”,“訂單”表及“訂單小計(jì)”查詢,發(fā)貨日期字段的條件為“Between 起始日期 And 終止日期”,因?yàn)楸碇胁](méi)有起始日期字段,所以運(yùn)行時(shí),ACCESS會(huì)將它看作一個(gè)參數(shù),并跳出提示框,終止日期同理,在運(yùn)行時(shí)輸入正確的參數(shù),并會(huì)得到查詢結(jié)果。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(26)摘要:“各年銷售額”及“發(fā)貨單”查詢正文: 12各年銷售額 “各年銷售額”查詢統(tǒng)計(jì)某一年的每個(gè)訂單的銷售情況,為“各年銷售額”報(bào)表提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖: 查詢的數(shù)據(jù)來(lái)自于“訂單”表及“訂單小計(jì)”查詢,年份是個(gè)計(jì)算字段,用了一個(gè)Format()函數(shù),這是一個(gè)文本格式函數(shù),具體參數(shù)及用法請(qǐng)查看幫助。重點(diǎn)來(lái)看發(fā)貨日期的條件設(shè)置,這個(gè)條件由兩部分組成,中間用“And”聯(lián)結(jié),表示要同時(shí)滿足前后兩個(gè)條件,前面一半為“Is Not Null”代表發(fā)貨日期不能為空,后面一半為“Between Forms!各年銷售額對(duì)話框!起始日期 And Forms!各年銷售額對(duì)話框!終止日期”,這也是一個(gè)“Between and ”的用法,只不過(guò)里面引用了兩個(gè)窗體中的參數(shù),F(xiàn)orms!各年銷售額對(duì)話框!起始日期代表“各年銷售額對(duì)話框”窗體中的“起始日期”中的值,終止日期同理,在運(yùn)行中,如果“各年銷售額對(duì)話框”窗體是打開(kāi)的并能讀取到相關(guān)參數(shù),則直接給出運(yùn)行結(jié)果,否則象“各國(guó)雇員銷售額”查詢中一樣,跳出提示框要求輸入。事實(shí)上好多報(bào)表都會(huì)從窗體或報(bào)表中讀取一些數(shù)據(jù)作為報(bào)表的計(jì)算依據(jù),我們要熟悉這種參數(shù)的設(shè)置方法。13發(fā)貨單“發(fā)貨單”查詢?cè)敿?xì)統(tǒng)計(jì)出每個(gè)訂貨單的詳細(xì)信息,包括訂單情況,貨主情況等,為“發(fā)貨單”報(bào)表提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖: 這個(gè)查詢選擇的表很多,其實(shí)在設(shè)計(jì)時(shí)方法還是一樣的,分別選擇如上圖的6個(gè)表,根據(jù)需要選擇相應(yīng)的字段,其中銷售人字段是個(gè)計(jì)算字段,把姓氏和名字聯(lián)在一起顯示,用到一個(gè)聯(lián)接運(yùn)算符,總價(jià)字段也是一個(gè)計(jì)算字段,與前面例中的計(jì)算方法相同。對(duì)于表中設(shè)置的一些屬性會(huì)在查詢中直接帶過(guò)來(lái),如在相聯(lián)接的兩個(gè)表“客戶”和“訂單”表中有相同的兩個(gè)字段“客戶ID”,如選擇“客戶”表中的“客戶ID”顯示的是ID號(hào),而選擇“訂單”表中的“客戶ID”顯示的是客戶名稱,這是由于“訂單”表中的該字段設(shè)了查閱屬性的緣故,不過(guò)字段中實(shí)際存儲(chǔ)的值都是一樣的,只是影響顯示,可根據(jù)需要從相關(guān)表中選擇相應(yīng)字段。在這個(gè)查詢中在“總計(jì)”行對(duì)每個(gè)字段都采用了“分組”,其實(shí)這樣的效果和排序是一樣的,如不用“分組”而對(duì)每個(gè)字段依次進(jìn)行排序,運(yùn)行的結(jié)果也是一樣的。當(dāng)然如果需要分組計(jì)算時(shí),則是不可替代的羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(27)摘要:“各類銷售額”及“1997年產(chǎn)品銷售額”查詢正文: 14各類銷售額 “各類銷售額”查詢?yōu)椤案黝愪N售額”報(bào)表提供數(shù)據(jù),統(tǒng)計(jì)了1997年各類產(chǎn)品的銷售情況。進(jìn)入設(shè)計(jì)視圖: 這個(gè)查詢的數(shù)據(jù)來(lái)自于個(gè)表及一個(gè)“擴(kuò)展訂單明細(xì)”查詢,查詢中對(duì)類別及產(chǎn)品名稱進(jìn)行了多級(jí)分類,再對(duì)分類后的產(chǎn)品求出銷售總金額。所以在查詢中“類別ID”,“類別名稱”及“產(chǎn)品名稱”字段的“總計(jì)”行都設(shè)為分組字段,總價(jià)字段是計(jì)算字段要進(jìn)行求和,所以設(shè)成“總計(jì)”,另取名稱為“產(chǎn)品銷售額”。在這種多級(jí)分類統(tǒng)計(jì)的查詢中一樣可以設(shè)置條件,本例中的訂購(gòu)日期,不要顯示,只是作為條件字段,所以“總計(jì)”行設(shè)為“條件”,條件為“Between and ”的名型,查詢出1997年的數(shù)據(jù)。151997年產(chǎn)品銷售額 “1997年產(chǎn)品銷售額”查詢統(tǒng)計(jì)出不同類別的產(chǎn)品在不同季度的銷售額,為“1997年各類銷售總額”查詢提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖: 查詢的數(shù)據(jù)來(lái)自于上圖中的四個(gè)表,其中“發(fā)貨季度”字段是個(gè)計(jì)算字段,用到了一個(gè)日期函數(shù)DatePart(),具體的參數(shù)和用法可以查看幫助,在本例中取日期中的季度,結(jié)果為1-4中的一個(gè)值,后面加上一個(gè)聯(lián)接字符串,現(xiàn)加上季度,可以形成“季度”這樣的字符串。在“總計(jì)”行:需要分組的字段“類別名稱”,“產(chǎn)品名稱”,“發(fā)貨季度”設(shè)成“分組”,而且分類應(yīng)是有先后的,大類放在前面;需要設(shè)置條伯的字段“發(fā)貨日期”設(shè)成“條件”;需要計(jì)算的計(jì)算的字段“產(chǎn)品銷售額”設(shè)成“表達(dá)式”。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(28)摘要:“1997年各類銷售總額”及“高于平均價(jià)格的產(chǎn)品”查詢正文: 161997年各類銷售總額 “1997年各類銷售總額”查詢以“1997年的總銷售額”查詢?yōu)閿?shù)據(jù),進(jìn)一步查詢出每種類別的銷售總額,比較簡(jiǎn)單,詳見(jiàn)設(shè)計(jì)視圖: 其實(shí)本例也不一定非要通過(guò)“1997年的總銷售額”查詢來(lái)產(chǎn)生。也可以如下圖設(shè)置生成,運(yùn)行結(jié)果也是完全一樣的。17高于平均價(jià)格的產(chǎn)品 “高于平均價(jià)格的產(chǎn)品”查詢,以產(chǎn)品平均價(jià)格作為衡量依據(jù),統(tǒng)計(jì)出比平均價(jià)格高的產(chǎn)品。 進(jìn)入設(shè)計(jì)視圖: 這個(gè)查詢的數(shù)據(jù)來(lái)自于“產(chǎn)品”表,選擇的字段也很簡(jiǎn)單,只有兩個(gè)“產(chǎn)品名稱”與“單價(jià)”,這個(gè)查詢的關(guān)鍵在于設(shè)置“單價(jià)”字段的條件,并不是所有的產(chǎn)品都顯示出來(lái),單價(jià)大于平均價(jià)的才顯示出來(lái),條件中用到比較運(yùn)算符“”,平均價(jià)格哪里來(lái)呢,在本例中用了一個(gè)SQL查詢語(yǔ)句,也叫子查詢。象這種在條件中包含SQL語(yǔ)句的查詢叫嵌套查詢,可以進(jìn)行多層嵌套。用“Select AVG(單價(jià) From 產(chǎn)品”來(lái)求出產(chǎn)品表中所有單價(jià)的平均值。本例的條件中如果不用子查詢,改用函數(shù)也是可以的,可以改成“DAvg(單價(jià),產(chǎn)品)”。羅斯文數(shù)據(jù)庫(kù)學(xué)習(xí)連載(29)摘要:“各城市的客戶和供應(yīng)商”查詢正文: 18各城市的客戶和供應(yīng)商“各城市的客戶和供應(yīng)商”查詢是一個(gè)聯(lián)合查詢,它將“客戶”表和“供應(yīng)商”表的信息聯(lián)合在一起,查詢出每個(gè)城市的客戶及供應(yīng)商。聯(lián)合查詢由多個(gè)Selec

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論