用 INNER JOIN語法聯(lián)接多個表建記錄集_Access數(shù)據(jù)庫教程

      編輯Tag賺U幣

      推薦:ACCESS學(xué)習(xí)日記
      ACCESS學(xué)習(xí)日記

      多表聯(lián)接建立記錄集是十分有的,因為某些情況下,我們需要把數(shù)字?jǐn)?shù)據(jù)類型顯示為相應(yīng)的文本名稱,這就遇到了多表聯(lián)接建立記錄集的問題。比如作一個會員注冊系統(tǒng),共有五個表,會員信息數(shù)據(jù)表member、會員身份表MemberIdentity、會員權(quán)限表MemberLevel、會員類別表MemberSort和會員婚姻狀況表Wedlock。如果想把會員注冊信息全部顯示出來,肯定要將這四個表連起來,否則大家看到的某些會員信息可能只是數(shù)據(jù)編號。
      以會員類別表來說,在其數(shù)據(jù)表中,1代表普通會員,2代表高級會員,3代表終身會員,在顯示時,如果不將會員類別表與會員詳細(xì)數(shù)據(jù)表相關(guān)聯(lián),那么假如我們現(xiàn)在看到的是一名普通會員的注冊信息,我們只能看到其類別為1,而誰又會知道1代表的是普通會員呢?所以要將會員類別表與會員詳細(xì)數(shù)據(jù)表相關(guān)聯(lián),關(guān)聯(lián)后,1就顯示為普通會員,2就顯示為高級會員,3就顯示為終身會員,這樣多好?同理,其它兩個表也要與會員詳細(xì)數(shù)據(jù)表相關(guān)聯(lián)才能把數(shù)據(jù)編號顯示為相應(yīng)的名稱。

      步驟一:用Access軟件建立一個名為Member的數(shù)據(jù)庫,在其中建五個表,分別為:會員信息數(shù)據(jù)表member、會員身份表MemberIdentity、會員權(quán)限表MemberLevel、會員類別表MemberSort和會員婚姻狀況表Wedlock。

      ●會員信息數(shù)據(jù)表member:
      MemberID:自動編號,主鍵(ID號)
      MemberSort:數(shù)字(會員類別)
      MemberName:文本,會員姓名
      Password:文本(會員密碼)
      MemberLevel:數(shù)字(會員權(quán)限)
      MemberIdentity:數(shù)字(會員身份)
      Wedlock:數(shù)字(婚姻狀況)
      MemberQQ:文本(QQ號碼)
      MemberEmail:文本(會員郵箱)
      MemberDate:日期/時間(會員注冊日期)

      ●會員身份表MemberIdentity:
      MemberIdentity:自動編號,主鍵(ID號)
      IdentityName:文本(會員身份名稱)

      ●會員權(quán)限表MemberLevel:
      MemberLevel:自動編號,主鍵(ID號)
      LevelName:文本(會員權(quán)限名稱)

      ●會員類別表MemberSort:
      MemberSort:自動編號,主鍵(ID號)
      SortName:文本(會員類別名稱)

      ●會員婚姻狀況表Wedlock
      Wedlock:自動編號,主鍵(ID號)
      WedlockName:文本(會員婚姻狀況類別)
      說明:五個表建好后,您可以自行設(shè)置您想要的類別,如會員權(quán)限,您可以設(shè)置兩個類別--“未付費(fèi)會員”和“已付費(fèi)會員”,編號分別為“1”、“2”,如您設(shè)置了三個選項,那么第三個選項的編號當(dāng)然就是“3”了。
      下面我們所要作的工作就是把“1”、“2”之類的編號顯示為“未付費(fèi)會員”和“已付費(fèi)會員”,否則,大家誰會知道“1”代表的是“未付費(fèi)會員”,“2”代表的是“已付費(fèi)會員”?

      步驟二:建DSN數(shù)據(jù)源,建記錄集
      ●運(yùn)行Dreamweaver MX軟件,在會員注冊信息顯示頁面建一個名為ConnMember(您也可以起其它的名稱)的DSN數(shù)據(jù)源。

      ●點(diǎn)擊服務(wù)器行為面板中的“綁定”,建一個名為MemberShow的數(shù)據(jù)集,“連接”選擇ConnMember,“表格”選擇Member,“列”全選,“排序”選擇MemberDate,降序。點(diǎn)擊“高級”按鈕,修改SQL框中自動生成的代碼
      原代碼為:
      SELECT *
      FROM Member
      ORDER BY MemberDate DESC

      將代碼修改為:
      SELECT *
      FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
      ORDER BY MemberDate DESC
      修改完代碼后,點(diǎn)擊“確定”,大功告成!
      現(xiàn)在,您可以打開記錄集看一下,五個表中的字段全部集成在MemberShow記錄集中,您只要將相應(yīng)的字段綁定在該字段想顯示的單元格中即可。這下好了,所有的數(shù)字編號全部變成了相應(yīng)的名稱,如會員權(quán)限,不再是“1”和“2”的數(shù)字形式了,而是變成了相應(yīng)的名稱“未付費(fèi)會員”和“已付費(fèi)會員”。其它的數(shù)字編號也變成了顯示的文本名稱,是不是很開心呢?

      注意事項:
      ●在輸入字母過程中,一定要用英文半角標(biāo)點(diǎn)符號,單詞之間留一半角空格;
      ●在建立數(shù)據(jù)表時,如果一個表與多個表聯(lián)接,那么這一個表中的字段必須是“數(shù)字”數(shù)據(jù)類型,而多個表中的相同字段必須是主鍵,而且是“自動編號”數(shù)據(jù)類型。否則,很難聯(lián)接成功。
      ●代碼嵌套快速方法:如,想連接五個表,則只要在連接四個表的代碼上加一個前后括號(前括號加在FROM的后面,后括號加在代碼的末尾即可),然后在后括號后面繼續(xù)添加“INNER JOIN 表名X ON 表1.字段號=表X.字段號”代碼即可,這樣就可以無限聯(lián)接數(shù)據(jù)表了:)

      語法格式:
      其實(shí) INNER JOIN ……ON的語法格式可以概括為:
      FROM (((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號) INNER JOIN 表X ON Member.字段號=表X.字段號
      您只要套用該格式就可以了。

      現(xiàn)成格式范例:
      雖然我說得已經(jīng)比較明白了,但為照顧初學(xué)者,我還是以本會員注冊系統(tǒng)為例,提供一些現(xiàn)成的語法格式范例,大家只要修改其中的數(shù)據(jù)表名稱和字段名稱即可。

      連接兩個數(shù)據(jù)表的用法:
      FROM Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort
      語法格式可以概括為:
      FROM 表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號

      連接三個數(shù)據(jù)表的用法:
      FROM (Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel
      語法格式可以概括為:
      FROM (表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號

      連接四個數(shù)據(jù)表的用法:
      FROM ((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity
      語法格式可以概括為:
      FROM ((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號

      連接五個數(shù)據(jù)表的用法:
      FROM (((Member INNER JOIN MemberSort ON Member.MemberSort=MemberSort.MemberSort) INNER JOIN MemberLevel ON Member.MemberLevel=MemberLevel.MemberLevel) INNER JOIN MemberIdentity ON Member.MemberIdentity=MemberIdentity.MemberIdentity) INNER JOIN Wedlock ON Member.Wedlock=Wedlock.Wedlock
      語法格式可以概括為:
      FROM (((表1 INNER JOIN 表2 ON 表1.字段號=表2.字段號) INNER JOIN 表3 ON 表1.字段號=表3.字段號) INNER JOIN 表4 ON Member.字段號=表4.字段號) INNER JOIN 表5 ON Member.字段號=表5.字段號

      分享:Access保留字變量名列表
      Access保留字變量名列表

      來源:模板無憂//所屬分類:Access數(shù)據(jù)庫教程/更新時間:2013-04-22
      相關(guān)Access數(shù)據(jù)庫教程