羅斯文ACCESS數(shù)據(jù)庫(kù)必讀_第1頁(yè)
羅斯文ACCESS數(shù)據(jù)庫(kù)必讀_第2頁(yè)
羅斯文ACCESS數(shù)據(jù)庫(kù)必讀_第3頁(yè)
羅斯文ACCESS數(shù)據(jù)庫(kù)必讀_第4頁(yè)
羅斯文ACCESS數(shù)據(jù)庫(kù)必讀_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、 羅斯文數(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à)。羅斯文公司銷售的食品分為幾大類,每類食

2、品又細(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è)吧。 本帖隱藏的內(nèi)容需要回復(fù)才可以瀏覽下載 (10.28 KB)2008-4-15 00:39圖一注:本教程著重在實(shí)例講解,不含最基本的一些概念及操作說(shuō)明,如需學(xué)習(xí)基礎(chǔ)的參見(jiàn)此教程或自己看書。二、表設(shè)計(jì)思路及表的數(shù)據(jù)類型、字段屬性正文:     首先要做的事是設(shè)

3、計(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)品表、供

4、應(yīng)商表、雇員表、運(yùn)貨商表及類別表。    “羅斯文數(shù)據(jù)庫(kù)”中共有個(gè)表,選中表,以詳細(xì)信息的視圖來(lái)查看各個(gè)表的說(shuō)明,見(jiàn)圖二。下載 (21.79 KB)2008-4-15 00:39     圖二    關(guān)于數(shù)據(jù)庫(kù)的基本組成表,查詢,窗體等及表的基本組成字段,記錄等概念就不用再講了吧。其中一些常用的知識(shí)將在示例中一起講解。在表設(shè)計(jì)中重點(diǎn)要掌握的是數(shù)據(jù)類型、字段屬性的設(shè)置與應(yīng)用。三、數(shù)據(jù)類型的用法文本用于存儲(chǔ)不需要計(jì)算的數(shù)字,文本、其他字符或組合內(nèi)容。最多可存儲(chǔ)255個(gè)漢字,英文或字符。備注用于存儲(chǔ)長(zhǎng)文本和數(shù)字。如注釋或

5、說(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表格,圖片等。如員工照片

6、。超鏈接用于存儲(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)行定義。四、字段屬性字段屬性是指字段擁有的一些特點(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)題屬性影響

7、著字段的顯示名稱,默認(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ù)

8、時(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ú)。索

9、引屬性中只能設(shè)置單一字段的索引,如果要設(shè)置多字段索引,可在設(shè)計(jì)視圖中,點(diǎn)擊工具欄的索引(或菜單視圖索引),在索引框中設(shè)置。下載 (19.09 KB)2008-4-15 00:42圖三具體的用法及示例將結(jié)合羅斯文示例進(jìn)行說(shuō)明。五、表的具體分析:1、“供應(yīng)商”表供應(yīng)商表記錄的是為羅斯文公司提供貨源的廠商記錄下載 (43.14 KB)2008-4-15 00:47選擇 “供應(yīng)商”表,單擊“設(shè)計(jì)”按鈕,進(jìn)入表設(shè)計(jì)視圖,表中的字段包括了常用的聯(lián)系信息。下載 (11.45 KB)2008-4-15 00:47圖五我們重點(diǎn)來(lái)關(guān)注一下“供應(yīng)商ID”字段。這是一個(gè)自動(dòng)編號(hào)類型的字段,在表中具有唯一性,一般的我們

10、設(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之類的可以采用起超鏈接類型。查看該表中的索引下載 (16.83 KB)2008-4-15 00:47圖六可以發(fā)現(xiàn)公司名稱和郵政編碼字段的索引屬性為有(有重復(fù))也即唯一索引為否,主要是為了通過(guò)索引加快對(duì)這兩個(gè)字段的查詢等操作,有重復(fù)說(shuō)明該字段中的數(shù)據(jù)是有可能重復(fù)的,比如兩個(gè)公

11、司在同一地區(qū),那郵政編碼就是一樣的。另外我們?cè)诔R?guī)屬性中除了字段大小屬性以外,還有其他的一些屬性,可以在相應(yīng)的欄內(nèi)點(diǎn),查看相應(yīng)的幫助。2、“類別”表        劃分類別是表設(shè)計(jì)時(shí)的必須要考慮的,因?yàn)椴煌悇e的產(chǎn)品可能由不同的部門負(fù)責(zé)銷售,為了方便統(tǒng)計(jì)出各類產(chǎn)品或部門的銷售情況,須將產(chǎn)品進(jìn)行分類。類別表中將產(chǎn)品分為8大類。下載 (22.19 KB)2008-4-15 00:49圖七        選擇類別表,點(diǎn)設(shè)計(jì),進(jìn)入設(shè)計(jì)計(jì)視圖下載 (24.22 KB)2008-4-15

12、 00:49圖八        可以看到“類別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)建”,瀏覽到所需圖片,

13、也可以鏈接對(duì)象,這樣只是保存了鏈接地址,不會(huì)直接把文件插入數(shù)據(jù)庫(kù)。、“產(chǎn)品”表        產(chǎn)品表中保存了羅斯文公司銷售的各種產(chǎn)品的明細(xì)數(shù)據(jù)。這個(gè)表清楚的記載了每個(gè)產(chǎn)品是屬于什么類別,供應(yīng)商是誰(shuí),庫(kù)存量,單價(jià)等信息,是填寫訂貨單時(shí)的重要依據(jù)。 下載 (33.17 KB)2008-4-15 15:22圖九 選中“產(chǎn)品”表,點(diǎn)設(shè)計(jì),進(jìn)入設(shè)計(jì)視圖 下載 (24.03 KB)2008-4-15 15:22“產(chǎn)品ID”是自動(dòng)編號(hào)類型的主鍵; 單價(jià),庫(kù)存量,訂購(gòu)量,再訂購(gòu)量字段中設(shè)置的有效性規(guī)則與有效文本性文本屬性,可以學(xué)習(xí)一下; “中止”字段的數(shù)據(jù)類型是“是/否

14、”型,這對(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è)置方法相同。4、查閱列    我們?cè)诒碇休斎霐?shù)據(jù)時(shí),經(jīng)常會(huì)遇到需要重復(fù)輸入的內(nèi)容,比如人員的性別為“男”或“女”

15、,這是單表中的重復(fù)錄入;比如產(chǎn)品表中需要輸入“供應(yīng)商”,而“供應(yīng)商”字段在“供應(yīng)商”表中已經(jīng)錄入過(guò)了,這屬于跨表的重復(fù)錄入。這些內(nèi)容如果直接錄入不僅花費(fèi)了用戶較多的時(shí)間,而且極容易出錯(cuò)。為了方便用戶錄入重復(fù)性的數(shù)據(jù),可以借助ACCESS提供的查閱列的功能。下載 (13.6 KB)2008-4-15 15:26圖    首先來(lái)看下查閱列中的各項(xiàng)具體屬性 顯示控件下載 (7.83 KB)2008-4-15 15:26圖    從顯示控件右側(cè)的下拉框中可以看到該屬性可以設(shè)為文本框,列表框或組合框。如果設(shè)為文本框,那數(shù)據(jù)就只有接受從文本框中的錄入,查閱的其他屬性

16、都不可用。我們主要要掌掘的是列表框和組合框的使用。組合框和列表框的使用基本相同,只是列表框除了可以從列表中選擇還可以接受錄入,相當(dāng)于是列表框各文本框的組合。行來(lái)源類型下載 (7.7 KB)2008-4-15 15:26圖    行來(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)即可。這種

17、類型只適合于輸入的內(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è)的生成器515)this.width=515" alt="" src=" ,在查詢生成

18、器中直接創(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)題。

19、如果在列表框或組合框中同時(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ù),則選擇“否”。如果值必

20、須為列表中的一項(xiàng)時(shí),則選擇“是”。示例:在“產(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)卡,將顯示控件改為組合框。下載 (28.21 KB

21、)2008-4-15 15:32圖在行來(lái)源類型中選擇“表/查詢”。點(diǎn)擊行來(lái)源右側(cè)的生成器515)this.width=515" alt="" src=" 按鈕,在顯示表中,選中“供應(yīng)商”表,點(diǎn)添加后關(guān)閉。從表中選擇字段供應(yīng)商ID,公司名稱,可以雙擊,也可以拖入下方的字段中。設(shè)置公司名稱字段的排序?yàn)樯?,代表組合框中的供應(yīng)商按名稱進(jìn)行排序。下載 (22.13 KB)2008-4-15 15:32圖點(diǎn)關(guān)閉按鈕,跳出提示窗口下載 (11.57 KB)2008-4-15 15:32圖點(diǎn)“是”在綁定列中填入1,代表該字段存儲(chǔ)的值是查詢結(jié)果中第一列“供應(yīng)商ID”中的

22、值。要求這兩者的數(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),限于列表選“是”。下載 (17.06 KB)2008-4-15 15:32圖11關(guān)閉設(shè)計(jì)視圖并保存修改,切換到數(shù)據(jù)表視圖,體會(huì)查閱列的用法??蛻舯砑斑\(yùn)貨商表    “客戶”表記錄的是羅斯文公司的客戶信息,類似于“供應(yīng)商”表。下載 (37.64 KB)2008-4-15 15:53    通過(guò)對(duì)“客戶

23、”表設(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ò)誤。比如可以用“000000000000000

24、999”來(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ū)分。“輸入掩碼”是控制輸入和保存方式的,而“格式”屬性是控制輸出和打印方式的,如在“輸入掩碼”中使用“>”代表的是不管輸入字符是大寫還是小寫,在數(shù)據(jù)庫(kù)中保存的都會(huì)是大寫的字符,而如果在“格式”中使用“>”代表的是在該字段中顯示為大寫,而不管實(shí)際存

25、在數(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ì)講。雇員表       “雇員”表記錄的是羅斯文公司的雇員信息。下載 (23.81 KB)2008-4-15 15:59        雇員的姓氏和名字分別用

26、兩個(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)行了拆分的處理方法。下載 (45.91 KB)2008-4-15 15:59        選中“雇員”表,單擊設(shè)計(jì)按鈕,進(jìn)入表設(shè)計(jì)視圖。      “雇員ID”是自動(dòng)編號(hào)的主鍵,“出生日期”是“日期/時(shí)間”類型,它的“格式”屬性是“yyyy-mm-dd”,表示顯示時(shí)的格式,“有效性規(guī)則”屬性是“<Dat

27、e()”,Date()是個(gè)日期函數(shù),取的是系統(tǒng)的當(dāng)前日期,這樣設(shè)置防止由于疏忽而輸入比當(dāng)天還大的出生日期?!罢掌弊侄尾捎玫氖恰拔谋尽鳖愋?,查看一下記錄會(huì)發(fā)現(xiàn),記錄的只是照片的文件名字而已,這和“類別”中的“圖片”字段是有區(qū)別的,這也是一種記錄圖片信息的方法,將來(lái)圖片在窗體中的顯示可以通過(guò)加載文件路徑的方式來(lái)處理。這樣處理要求存放圖片的路徑與圖片名稱不能發(fā)生改變,一旦改變?cè)诖绑w中就會(huì)無(wú)法顯示出照片,這是與OLE類型的對(duì)象不同的地方。        “上級(jí)”字段記錄的是某個(gè)雇員的上級(jí)主管是誰(shuí)。由于上級(jí)主管本身也是公司雇員,因此上級(jí)主管的

28、信息也會(huì)記錄在“雇員”表中。為了避免錄入時(shí)的重復(fù)輸入,在此字段也設(shè)置了“查閱”屬性,并且字段的數(shù)據(jù)類型是“數(shù)字”,說(shuō)明在這一字段保存的是“雇員ID”的信息,查看“上級(jí)”字段的“查閱”選項(xiàng)卡,顯示控件為組合框,在錄入時(shí)讓用戶以組合框的形式進(jìn)行選擇。單擊“行來(lái)源”右側(cè)的生成器按鈕,進(jìn)入查詢生成器,下載 (27.41 KB)2008-4-15 15:59        在示例中有個(gè)字段,“雇員ID”是作為綁定字段的,“姓名”字段是個(gè)表達(dá)式,它用了一個(gè)“”字符串連接運(yùn)算符,將“姓氏”和“名字”連在一起成為新的字段。另外還有兩列“姓氏”和“名字

29、”,顯示的屬性未打勾,代表并不顯示,只是作為排序的依據(jù)。在此處其實(shí)可以直接按“姓名”來(lái)排序,而不用選擇“姓氏”與“名字”字段,效果是一樣的。下載 (10.58 KB)2008-4-15 15:59訂單表       “訂單”表記錄的是客戶訂貨的主信息表,記錄了訂單ID,客戶,雇員,運(yùn)貨商,運(yùn)費(fèi),及相關(guān)的訂購(gòu)日期,到貨、發(fā)貨日期,表中還有個(gè)字段用來(lái)記錄貨主的聯(lián)系信息。下載 (19.18 KB)2008-4-15 16:09        初看上去,好象這并不符合數(shù)據(jù)庫(kù)設(shè)計(jì)的規(guī)范,這主要是由于羅斯文

30、公司的客戶每次訂貨時(shí)收貨地址很少重復(fù),而是訂貨時(shí)才指定,因些無(wú)法記錄下確定的貨主信息。一般我們通常用得比較多的情況是客戶一般就是收貨的貨主,客戶確定下來(lái)后,收貨人的相關(guān)信息也就定下來(lái)了,這時(shí)后面的個(gè)字段都是可以省略的。下載 (41.83 KB)2008-4-15 16:09        查看“訂單”表的設(shè)計(jì)視圖,“訂單ID”是自動(dòng)編號(hào)的主鍵,“客戶ID”、“雇員ID”、“運(yùn)貨商”字段分別是客戶表、雇員表和運(yùn)貨商表中的主鍵,都設(shè)置了查閱屬性,以組合框的形式提供選擇。這個(gè)表中也沒(méi)有什么新的知識(shí)點(diǎn)。訂單明細(xì)表“訂單明細(xì)”表是對(duì)“訂單”表中

31、“訂單ID”的具體的產(chǎn)品訂購(gòu)信息的補(bǔ)充說(shuō)明。包括產(chǎn)品的名稱、單價(jià)、數(shù)量和折扣。下載 (17.47 KB)2008-4-15 16:12下載 (25.45 KB)2008-4-15 16:12查看“訂單明細(xì)”表的設(shè)計(jì)視圖,發(fā)現(xiàn)表中的主鍵設(shè)置與其他表不同,是用“訂單ID”和“產(chǎn)品ID”聯(lián)合起來(lái)作為主鍵的。也就是說(shuō)同一份訂單中有多種產(chǎn)品,而每一種產(chǎn)品可能會(huì)出現(xiàn)在不同的訂單中,只有“訂單ID”和“產(chǎn)品ID”同時(shí)確定的記錄才是唯一的。設(shè)多字段主鍵時(shí),需先選中多個(gè)字段,然后單擊工具欄上的主鍵按鈕 即可?!爱a(chǎn)品ID”字段來(lái)自“產(chǎn)品”表中的主鍵,設(shè)置了查閱屬性,“訂單ID”與“訂單”表中的主鍵“訂單ID”保持

32、一致,這里并沒(méi)有設(shè)置查閱屬性,這是由于考慮到以后采用來(lái)主子窗體的形式來(lái)記錄兩個(gè)表中信息,而作為鏈接字段的“訂單ID”是自動(dòng)同步的,不用輸入。單價(jià)、數(shù)量、折扣字段中設(shè)置了相應(yīng)的格式、默認(rèn)值、有效性規(guī)則與有效性文本,可以在實(shí)際設(shè)計(jì)時(shí)參考其中的設(shè)置,其中單價(jià)的格式可改為貨幣形式即可。到此所有的表都學(xué)完了,表設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)開(kāi)發(fā)中的基礎(chǔ),是非常重要的。要合理的劃分各表,設(shè)置好表中的主鍵與索引,同時(shí)要多站在客戶的角度,在錄入方面作好細(xì)節(jié)的設(shè)置,如查閱屬性的設(shè)置,輸入法的開(kāi)關(guān),有效性規(guī)則的設(shè)置,有效性廣本的提醒等。表之間關(guān)系:ACCESS數(shù)據(jù)庫(kù)是關(guān)系型數(shù)據(jù)庫(kù),與其他的關(guān)系型數(shù)據(jù)庫(kù)一樣,也具有三種常用關(guān)系:

33、一對(duì)一關(guān)系、一對(duì)多關(guān)系和多對(duì)多關(guān)系。一對(duì)一關(guān)系是指兩個(gè)表之間的記錄是一一對(duì)應(yīng)的關(guān)系,這種關(guān)系用的比較少。一對(duì)多關(guān)系,是指A表中的一條記錄,可以與B表中的多條記錄相對(duì)應(yīng)。如“類別”表中的“類別ID”與“產(chǎn)品”表中的“類別ID”就是一對(duì)多的關(guān)系,一個(gè)類別對(duì)應(yīng)多個(gè)產(chǎn)品。多對(duì)多關(guān)系是指A表中的一條記錄,可以與B表中的多條記錄相對(duì)應(yīng),同時(shí),B表中的一條記錄也可以與A表中的多條記錄相對(duì)應(yīng)。一般的建立多對(duì)多關(guān)系時(shí),需要一個(gè)中間表,通過(guò)中間表同時(shí)與兩個(gè)表A、B之間產(chǎn)生一對(duì)多的關(guān)系,從而實(shí)現(xiàn)A與B之間的多對(duì)多關(guān)系。如“訂單”表與“產(chǎn)品”表就是多對(duì)多的關(guān)系,一份訂單中有多種產(chǎn)品,一種產(chǎn)品會(huì)同時(shí)出現(xiàn)在多種訂單上,中

34、間表就是“訂單明細(xì)”表。建立了一對(duì)多關(guān)系的表之間,一方中的表叫“主表”,多方中的表叫“子表”;兩表中相關(guān)聯(lián)的字段,在主表中叫“主鍵”,在子表中稱“外鍵”。在建立了關(guān)系之后,打開(kāi)表時(shí),會(huì)發(fā)現(xiàn)最左側(cè)多了一列“”,單擊“”號(hào),可以展開(kāi)另一個(gè)數(shù)據(jù)表,這就是主表中關(guān)聯(lián)的子表。如果子表中還有對(duì)應(yīng)于它的子表,則還可以進(jìn)一步一層層的展開(kāi)。這種關(guān)系應(yīng)用在窗體中便是主子窗體。下載 (34.01 KB)2008-4-15 16:24要查看或編輯表中關(guān)系,可以點(diǎn)擊工具欄上的關(guān)系按鈕,或從菜單欄“工具關(guān)系”中進(jìn)入關(guān)系界面。下載 (32.22 KB)2008-4-15 16:24在關(guān)系連接線上雙擊,或單擊右鍵選擇編輯關(guān)系

35、,可以查看已經(jīng)建立的關(guān)系,或者進(jìn)行修改,如果要?jiǎng)h除,直接選中刪除即可。關(guān)系的另一個(gè)重要的功能便是能保持各個(gè)表數(shù)據(jù)之間的完整性。下載 (18.52 KB)2008-4-15 16:24我們?cè)凇坝唵巍北砼c“訂單明細(xì)”表的關(guān)系編緝窗口,可以在窗口的下半部分看到關(guān)系的相關(guān)屬性?!皩?shí)施參照完整性”是指不能在相關(guān)表的外鍵字段中輸入不存于主鍵中的值,在例中表現(xiàn)為在“訂單明細(xì)”表中,不能錄入“訂單”表中不存在的“訂單ID”?!凹?jí)產(chǎn)刪除相關(guān)記錄”,是指在主表中刪除記錄時(shí)會(huì)把相關(guān)子表的數(shù)據(jù)也一起刪除,避免出現(xiàn)數(shù)據(jù)混亂,如在“訂單”表中刪除每個(gè)“訂單ID”的記錄時(shí),“訂單明細(xì)”表中所在有關(guān)“訂單ID”的記錄也會(huì)一起

36、刪除?!凹?jí)聯(lián)更新相關(guān)字段”是指主表中的主鍵修改,子表中的相關(guān)字段會(huì)自動(dòng)更改。如我們?cè)凇翱蛻簟北碇行薷牧恕翱蛻鬒D”,那么“訂單”表中的“客戶ID”會(huì)自動(dòng)更新。在羅斯文數(shù)據(jù)庫(kù)中,只有“客戶”表與“訂單”表中的關(guān)系用到了級(jí)聯(lián)更新,基他主表中的主鍵都是自動(dòng)生成ID號(hào),不存在修改情況,所以也用不著級(jí)聯(lián)更新查詢的具體分析:    一般的在表設(shè)計(jì)完成階段以后就可以進(jìn)行窗體的設(shè)計(jì),然后再根據(jù)需要完善報(bào)表功能。在窗體與報(bào)表設(shè)計(jì)過(guò)程中會(huì)較多的使用到查詢,一般的可以要據(jù)需要隨時(shí)建立。不過(guò)為了先讓大家都查詢有個(gè)系統(tǒng)的了解,所以我們把羅斯文數(shù)據(jù)庫(kù)中的查詢放到前面來(lái)看。    查

37、詢一般可以分為五種基本類型:選擇查詢,參數(shù)查詢,交叉表查詢,操作查詢和SQL查詢。用得最多的應(yīng)是選擇查詢。可以結(jié)合羅斯文中的實(shí)例一起來(lái)學(xué)習(xí)一下。羅斯文數(shù)據(jù)庫(kù)中共有個(gè)查詢,這些查詢分別為窗體和報(bào)表提供了數(shù)據(jù)源,我們挑選其中的一些來(lái)學(xué)習(xí)。    訂單查詢:    訂單查詢是為“訂單”窗體提供數(shù)據(jù)的,包含訂單表中的全部字段和客戶表中的部分字段。一般我們?cè)谠O(shè)計(jì)查詢時(shí)用的最多的是用設(shè)計(jì)視圖創(chuàng)建查詢。由于訂單查詢是一個(gè)比較簡(jiǎn)單的查詢,所以我們通過(guò)該查詢來(lái)學(xué)習(xí)一下怎樣通過(guò)簡(jiǎn)單查詢向?qū)?lái)創(chuàng)建最簡(jiǎn)單的查詢,然后再利用設(shè)計(jì)視圖來(lái)查看和修改。    在數(shù)據(jù)

38、庫(kù)的查詢對(duì)象窗口,雙擊“使用向?qū)?chuàng)建查詢”     下載 (6.9 KB)2008-4-15 16:47    或者單擊“新建”按鈕,在跳出的“新建查詢”的窗口中選擇“簡(jiǎn)單查詢向?qū)А毕螺d (7.37 KB)2008-4-15 16:47    在“表/查詢”中選擇“表:訂單”,選中該表中的所有字段加入到“選定的字段”中下載 (25.04 KB)2008-4-15 16:47    再?gòu)摹氨恚嚎蛻簟敝羞x擇字段公司名稱,地址,城市,地區(qū),郵政編碼,國(guó)家下載 (7.55 KB)2008-4-15 16:47 

39、  單擊“下一步”,選擇“明細(xì)”;如果要在查詢中實(shí)現(xiàn)將記錄進(jìn)行分組,計(jì)數(shù)、求和、求平均值等計(jì)算,則要在這一步選擇“匯總”進(jìn)入“匯總選項(xiàng)”進(jìn)行相應(yīng)的設(shè)置。下載 (22.15 KB)2008-4-15 16:47      選擇“下一步”,給查詢起名“訂單查詢”,單擊“完成”,自動(dòng)打開(kāi)查詢,顯示查詢結(jié)果。下載 (31.8 KB)2008-4-15 16:47    如果要對(duì)查詢進(jìn)行查看或修改可以進(jìn)入設(shè)計(jì)視圖中,從菜單“視圖”中選擇“設(shè)計(jì)視圖”,即可進(jìn)入設(shè)計(jì)視圖界面。當(dāng)然工具欄也有“視圖”按鈕。下載 (16.46 KB)2008-

40、4-15 16:47    設(shè)計(jì)視圖分為上下兩上窗口,在上面顯示查詢中要用到的數(shù)據(jù)源來(lái)自于哪些表或查詢,在下面列出的是查詢結(jié)果中需要用到的字段,該字段來(lái)自哪個(gè)表,哪個(gè)字段需要設(shè)置排序方式,是否需要顯示該字段,以及查詢條件等。    很多查詢只需查詢出滿足條件的記錄,并不需要全部的記錄,這樣就需要在“條件”中輸入條件,一般用表達(dá)式來(lái)表示,只有滿中表達(dá)式的記錄才被顯示出來(lái)。因此我們需要了解一下表達(dá)式。表達(dá)式:    表達(dá)式是許多 Microsoft Access 運(yùn)算的基本組成部分。表達(dá)式是可以生成結(jié)果的運(yùn)算符號(hào)和操作數(shù)的組合。例如,可以

41、在窗體或報(bào)表的控件中使用下列表達(dá)式來(lái)顯示“小計(jì)”和“運(yùn)貨費(fèi)”控件的數(shù)值總和:= 小計(jì) + 運(yùn)貨費(fèi)    常見(jiàn)的運(yùn)算符如算術(shù)運(yùn)算符“=”,“+”,“-”,“*”,“/”;比較運(yùn)算符“>”,“<”,“>=”,“<=”,“<>”,“=”;邏輯運(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à)格的乘積,可

42、以得出總價(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ù)<Date()-3030天以前的數(shù)據(jù)=(Date()-出生日期)/365計(jì)算年齡Month(出生日期)=33月份出生的人邏輯運(yùn)算表達(dá)式表達(dá)式說(shuō)明“北京” or “上?!背鞘袨楸本┗蛏虾5臄?shù)據(jù)Is Not Null不為空“性別”= “男” and “年齡”>30大于30歲的男性數(shù)據(jù)= “中國(guó)”

43、& “北京”值為 “中國(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ù)“當(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ì)視圖界面

44、,從顯示表中添加“產(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è)名字就可以了。下載 (22.38 KB)2008-4-16 11:15        我們打開(kāi)羅斯文數(shù)據(jù)庫(kù)中的當(dāng)前產(chǎn)品列表查

45、詢,會(huì)發(fā)現(xiàn)數(shù)據(jù)源是“產(chǎn)品列表”,不是“產(chǎn)品”表,這里是用到了表的別名,一般的我們?cè)诓樵冎袨榱朔奖?,?jīng)常會(huì)給比較長(zhǎng)的表名取個(gè)短一些的名稱,更方便引用表。方法是在顯示的表上點(diǎn)擊鼠標(biāo)右鍵,選擇屬性,在別名中填上合適的別名就行了。下載 (4.38 KB)2008-4-16 11:15“各類產(chǎn)品”查詢        各類產(chǎn)品查詢?yōu)楦黝惍a(chǎn)品報(bào)表提供數(shù)據(jù)源,在查詢對(duì)象中選中“各類產(chǎn)品”,單擊“設(shè)計(jì)”按鈕,下載 (22.38 KB)2008-4-16 11:22        我們發(fā)現(xiàn)默認(rèn)的

46、是按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ǔ)句的方法。下載 (22.67 KB)2008-4-16 11:22        查詢的數(shù)據(jù)來(lái)自“類別”表和“產(chǎn)品”表,“類別名稱”字段和“產(chǎn)品名稱”字段的“排序”都是升序,查詢結(jié)果將先按類別名稱排序,當(dāng)類別名稱相同時(shí)再按照產(chǎn)品名稱排序。中止條件為“no”,結(jié)果只包含未被中止的產(chǎn)品?!鞍礉h語(yǔ)拼音順序的產(chǎn)品列表”查詢

47、    這個(gè)查詢是為“按漢語(yǔ)拼音順序的產(chǎn)品列表”報(bào)表提供數(shù)據(jù)源的。雙擊查詢即可運(yùn)行并顯示查詢的結(jié)果,在查詢結(jié)果中并未按拼音順序來(lái)排列,這個(gè)功能是在報(bào)表中實(shí)現(xiàn)的。進(jìn)入設(shè)計(jì)視圖下載 (21.01 KB)2008-4-16 11:22    這個(gè)查詢的數(shù)據(jù)來(lái)自兩個(gè)表,“類別”表和“產(chǎn)品”表。查詢的結(jié)果中只包含未被中止的產(chǎn)品,因此在產(chǎn)品字段上設(shè)置了條件,這里代表“否”,在ACCESS中用代表“否”,F(xiàn)ALSE,“假”,而用-1代表“是”,TRUE,“真”十種最貴的產(chǎn)品    進(jìn)入設(shè)計(jì)視圖:下載 (28.69 KB)2008-4-16 11:3

48、1    查詢的數(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è)好“降序”排列,在工具欄上的上限值列表框515)this.width=515" alt="" src="中輸入10即可。雙擊查詢查看運(yùn)行結(jié)果,體會(huì)在設(shè)計(jì)視圖中設(shè)置的作用。季度訂單    這個(gè)查詢列出了在1997年度有訂單的客戶,不是某個(gè)

49、季節(jié)的記錄,而是含蓋了全年度的記錄,這個(gè)結(jié)果用于給“季度訂單”窗體提供數(shù)據(jù)源,在窗體中再具體實(shí)現(xiàn)按四個(gè)季度顯示統(tǒng)計(jì)結(jié)果。    進(jìn)入設(shè)計(jì)視圖:下載 (19.56 KB)2008-4-16 11:31  這個(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)

50、一次。這時(shí)可以在查詢視圖的上半部分窗口的空白處右擊鼠標(biāo),從浮動(dòng)菜單中選擇“屬性”,也可直接在工具欄上選擇“屬性”下載 (35.85 KB)2008-4-16 11:31    設(shè)置查詢屬性中的“唯一值”屬性為“是”即可。設(shè)置了這個(gè)屬性就能保證每組中的重復(fù)數(shù)據(jù)只會(huì)列出一個(gè)。在這里還要提一下的是要注意一下選擇表的聯(lián)接類型,在聯(lián)接線上雙擊可以顯示聯(lián)接屬性,聯(lián)接屬性分為三種,可以根據(jù)要求選擇。下載 (20.53 KB)2008-4-16 11:31    一般默認(rèn)的聯(lián)接類型為,只包含兩個(gè)表中聯(lián)接字段相等的行,在本例中改成聯(lián)接類型為,包含訂單表中的所有記錄,在SQ

51、L語(yǔ)句方面分別體現(xiàn)為內(nèi)聯(lián)接,左聯(lián)接和右聯(lián)接,這是有區(qū)別的,可以參考運(yùn)行結(jié)果體會(huì)聯(lián)接的作用。擴(kuò)展訂單明細(xì)擴(kuò)展訂單明細(xì)為窗體“客戶訂單子窗體2”提供數(shù)據(jù)源,查詢中帶有計(jì)算字段,查詢出每個(gè)訂單每種產(chǎn)品的一些明細(xì)信息。進(jìn)入設(shè)計(jì)視圖:下載 (19.99 KB)2008-4-16 11:36查詢的數(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,再

52、乘以100的做法。查了相關(guān)幫助,CCur()轉(zhuǎn)換函數(shù)應(yīng)是精確到小數(shù)點(diǎn)后面位,這樣先在轉(zhuǎn)換函數(shù)中除以100,然后再乘以100,相當(dāng)把數(shù)據(jù)還原,同時(shí)小數(shù)點(diǎn)后面保留兩位小數(shù)。不過(guò)我試了直接用CCur(訂單明細(xì).單價(jià)*數(shù)量*(1-折扣),得到的結(jié)果也是兩位的?歡迎共同討論。訂單小計(jì)    訂單小計(jì)統(tǒng)計(jì)出每個(gè)訂單上各種產(chǎn)品的銷售金額的總計(jì)金額,為匯總銷售額等多個(gè)查詢提供數(shù)據(jù)。    進(jìn)入設(shè)計(jì)視圖:下載 (24.6 KB)2008-4-16 11:36    查詢的數(shù)據(jù)來(lái)自于“訂單明細(xì)”表,選用的字段只有一個(gè)“訂單ID”,小計(jì)字段是個(gè)計(jì)算字段,小

53、計(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ì)字段

54、進(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ì)算符等,表

55、達(dá)式生成在上方可進(jìn)行修改。下載 (8.65 KB)2008-4-16 11:39下載 (29.97 KB)2008-4-16 11:36按年度匯總銷售額“按年度匯總銷售額”查詢?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ì)視圖:下載 (29.54 KB)2008-4-16 12:05查詢的數(shù)據(jù)來(lái)自于查詢“訂單小計(jì)”及“訂單”表,取“訂單”表中的發(fā)貨日期字段,并按該字段升序排列,另外該字段還設(shè)了條件,為“Is N

56、ot Null”,這個(gè)表達(dá)式代表數(shù)據(jù)不為空,沒(méi)有填寫過(guò)發(fā)貨日期的記錄則為空,代表尚未發(fā)貨,并排除在外。10按金額匯總銷售額        “按年度匯總銷售額”查詢統(tǒng)計(jì)了1997年訂單的小計(jì)金額在2500元以上的訂單,為“按金額匯總銷售額”報(bào)表提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖:下載 (25.79 KB)2008-4-16 12:05         查詢的數(shù)據(jù)來(lái)自于“客戶”,“訂單”表及“訂單小計(jì)”查詢。對(duì)小計(jì)字段另取名稱為“銷售金額”,加上條件“>2500”,表示只要訂單小計(jì)在2

57、500元以上的記錄;發(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ì)視圖:下載 (25.39 KB)2008-4-16 12:05         查詢的數(shù)據(jù)來(lái)自于“雇員”,“訂單”表及“訂單小計(jì)”查詢,發(fā)貨日期字段的條件為“Between 起

58、始日期 And 終止日期”,因?yàn)楸碇胁](méi)有起始日期字段,所以運(yùn)行時(shí),ACCESS會(huì)將它看作一個(gè)參數(shù),并跳出提示框,終止日期同理,在運(yùn)行時(shí)輸入正確的參數(shù),并會(huì)得到查詢結(jié)果。12各年銷售額“各年銷售額”查詢統(tǒng)計(jì)某一年的每個(gè)訂單的銷售情況,為“各年銷售額”報(bào)表提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖:下載 (23.3 KB)2008-4-16 12:09查詢的數(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

59、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)

60、計(jì)出每個(gè)訂貨單的詳細(xì)信息,包括訂單情況,貨主情況等,為“發(fā)貨單”報(bào)表提供數(shù)據(jù)。進(jìn)入設(shè)計(jì)視圖:下載 (25.61 KB)2008-4-16 12:09這個(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)行排

溫馨提示

  • 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)論