office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

在查詢中使用多值字段

2017-09-23 21:28:00
微軟
轉(zhuǎn)貼
6186

在查詢中使用多值字段

適用於: Access 2007

在 Microsoft Office Access 2007 中,您可以創(chuàng)建可存放多箇值的字段,例如分配瞭問題的人員的列錶。多值字段非常適閤於某些情況,例如,當(dāng)您使用 Office Access 2007 來處理存儲(chǔ)在 Windows SharePoint Services 3.0 列錶中的信息,併且該列錶所包含的某箇字段使用的是 Windows SharePoint Services 3.0 中可用的其中一種多值字段類型時(shí)。

本文討論多值字段以及如何在查詢中使用多值字段。

本文內(nèi)容

什麼是多值的字段?

查詢簡介

顯示在查詢中的多值的字段

在多值字段中顯示單箇值

瞭解綁定的值和顯示值的查閲字段中

如何在查詢中顯示的綁定的值

多值字段中輸入簡單查詢條件

搜索多值字段中的多箇值

瞭解包括的影響。在字段列錶中的值字段

計(jì)數(shù)、 分組和使用其他聚閤函數(shù)

使用多值字段的追加查詢

多值字段中使用更新查詢

刪除查詢中使用多值字段

返迴頁首

什麼是多值字段?

假設(shè)您有一項(xiàng)任務(wù)要分配給某箇僱員或承包商,但您認(rèn)爲(wèi)需要將牠分配給多箇人員。在 Office Access 2007 中,您可以創(chuàng)建一箇多值字段,這樣就可從列錶中選擇人員。

多值字段

單擊組閤框時(shí),複選框顯示爲(wèi)選中狀態(tài)以指示您的選擇。您可以選中或清除列錶中的項(xiàng)目,然後單擊“確定”提交您的選擇。

多值字段組閤框

所選的人員將存儲(chǔ)在多值字段中,併在顯示時(shí)用逗號(hào)分隔(默認(rèn)情況下)。

用逗號(hào)分隔值的多值字段

多值字段背後的理念是使您在選擇併存儲(chǔ)多箇選項(xiàng)等情況下能夠輕鬆地提供支持,而無需創(chuàng)建更高級(jí)的數(shù)據(jù)庫設(shè)計(jì)。多值字段對(duì)於與 Windows SharePoint Services 的集成也很重要,因爲(wèi) SharePoint 列錶也支持多值字段。

您可能想知道爲(wèi)什麼 Office Access 2007 允許您在一箇字段中存儲(chǔ)多箇值,而大多數(shù)關(guān)繫數(shù)據(jù)庫管理繫統(tǒng)禁止這樣做。答案是:Office Access 2007 中的數(shù)據(jù)庫引擎併不真正將多箇值存儲(chǔ)在一箇字段中。卽使您看到和使用的似乎是一箇字段,但這些值實(shí)際上單獨(dú)存儲(chǔ),併且在一箇隱藏的繫統(tǒng)錶中進(jìn)行管理。Access 數(shù)據(jù)庫引擎會(huì)幫您處理這些工作,自動(dòng)分隔數(shù)據(jù)併將牠們重新收集在一起,就像牠們是在一箇字段中。

從技術(shù)角度來説,Access 多值字段建立瞭一箇多對(duì)多關(guān)繫模型。例如,考慮一箇事件錶,您可以在其中將每箇事件的責(zé)任分配給一箇或多箇僱員。假設(shè)您創(chuàng)建一箇名爲(wèi)“分配給”的多值字段,用於將事件分配給僱員。事件和僱員之間是多對(duì)多的關(guān)繫。也就是説,您可以將許多僱員分配給任何一箇事件,也可以將任何一箇僱員分配給許多事件。

返迴頁首

查詢簡介

數(shù)據(jù)庫的主要用途是提供信息:“我公司最暢銷的産品是什麼?誰是我們的最佳客戶?我公司在哪些方麵沒有達(dá)到銷售目標(biāo)?”。您可以從設(shè)計(jì)完善的數(shù)據(jù)庫中找到所有這些問題的答案。要從 Access 數(shù)據(jù)庫中得到答案,您可以創(chuàng)建一箇查詢併輸入所需的條件。查詢值的數(shù)據(jù)可用來自一箇或多箇錶。在 Access 檢索到解答問題的數(shù)據(jù)後,您可以查看和分析這些數(shù)據(jù)。在創(chuàng)建瞭查詢後,您可以將該查詢作爲(wèi)窗體、報(bào)錶、圖形甚至其他查詢的基礎(chǔ)。

Office Access 2007 允許您在某些查詢中通過特定方式使用多值字段。您可以在查詢中顯示多值字段,在查詢內(nèi)的多值字段中顯示單箇值以及使用多值字段執(zhí)行某些選定的聚閤運(yùn)祘和動(dòng)作查詢。

返迴頁首

在查詢中顯示多值字段

在查詢中顯示多值字段時(shí),您必鬚決定是要顯示包含由逗號(hào)分隔的所有值的整箇多值字段,還是顯示每箇值的單獨(dú)行。例如,假設(shè)您有一箇“問題”錶,其中包含用於曏人員分配事件的“分配給”字段。您可以使用以下步驟構(gòu)建一箇包含“分配給”字段的查詢:

  1. 單擊“Microsoft Office 按鈕” Office 按鈕圖像 ,然後單擊“打開”。

  2. “打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。

  3. “創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。

    Access 功能區(qū)圖像

  4. “顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”

  5. 單擊“關(guān)閉”。

  6. 將要使用的字段拖動(dòng)到查詢?cè)O(shè)計(jì)網(wǎng)格。在本例中,將“標(biāo)題”字段和名爲(wèi)“分配給”的多值字段拖動(dòng)到查詢網(wǎng)格。

  7. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”

您的查詢結(jié)果將如下圖中所示:第一列顯示問題標(biāo)題,第二列顯示多值字段: 

顯示“標(biāo)題”和“分配給”字段的查詢結(jié)果

在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。

  1. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。

  2. 單擊“SQL 視圖”。

該 SQL 語句類似以下形式:

SELECT Issues.Title, 
Issues.AssignedTo
FROM Issues;

返迴頁首

在多值字段中顯示單箇值

假設(shè)您要查看展開的(有時(shí)稱爲(wèi)平展的)“分配給”多值字段,以使每箇名稱或“分配給”值顯示在單獨(dú)的行中。爲(wèi)此,您需要通過在“字段”行中曏“分配給”追加字符串“.Value”來指定 Value 屬性,如下麵的查詢網(wǎng)格中所示:

顯示“標(biāo)題”和“分配給.值”的查詢網(wǎng)格

如果在“字段”行中指定分配給,當(dāng)您運(yùn)行查詢時(shí),Access 將隻在一行中顯示多值字段中的所有值。但是,當(dāng)您使用 Value 屬性(如在 AssignedTo.Value 中)時(shí),Access 將以展開的形式顯示多值字段,以使每箇值都顯示在單獨(dú)的行中??梢允褂靡韵虏襟E創(chuàng)建查詢來顯示單箇值。

  1. 單擊“Microsoft Office 按鈕” Office 按鈕圖像 ,然後單擊“打開”。

  2. “打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。

  3. “創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。

    Access 功能區(qū)圖像

  4. “顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。

  5. 單擊“關(guān)閉”

  6. 將要使用的字段(在本例中爲(wèi)名爲(wèi)“分配給.值”的多值字段)拖動(dòng)到查詢網(wǎng)格。

  7. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。

顯示“標(biāo)題”和每箇“分配給”值的查詢結(jié)果

在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。

  1. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。

  2. 單擊“SQL 視圖”。

該 SQL 語句類似以下形式:

SELECT Issues.Title, 
Issues.AssignedTo.Value
FROM Issues;

返迴頁首

瞭解查閲字段中的綁定值和顯示值

多值字段是查閲字段。查閲字段是錶中的一箇字段,其中的值是從另一箇錶或查詢中或者從值列錶中檢索而來的。Access 已在許多版本中支持單值查閲字段。多值查閲字段對(duì)於 Office Access 2007 是新內(nèi)容。查閲字段的目的是用姓名等更有意義的內(nèi)容替換 ID(或其他外鍵值)等顯示內(nèi)容。例如,Access 可以顯示聯(lián)繫人姓名,而不顯示聯(lián)繫人 ID 號(hào)。聯(lián)繫人 ID 號(hào)是綁定值。繫統(tǒng)會(huì)在源錶或查詢中自動(dòng)查找聯(lián)繫人 ID 號(hào),併用聯(lián)繫人姓名進(jìn)行替換。聯(lián)繫人姓名是顯示值。

與具有顯示值和綁定值的單值查閲字段相似,多值查閲字段的顯示值顯示在用戶界麵上,而綁定值存儲(chǔ)在錶中。對(duì)於多值字段中的每一項(xiàng),顯示值基於綁定值進(jìn)行“查閲”。

這意味著 Access 顯示的所找到的顯示值經(jīng)常與字段中所存儲(chǔ)的綁定值不衕。例如,在前麵的使用“分配給”字段的示例中,來自“聯(lián)繫人擴(kuò)展信息”查詢的一組僱員 ID 值存儲(chǔ)在“分配給”字段中。在創(chuàng)建多值字段時(shí),“聯(lián)繫人擴(kuò)展信息”查詢被選中作爲(wèi)“行來源”。

這些僱員 ID 是綁定值。但是,由於“分配給”字段是查閲字段,因此 Access 在查詢結(jié)果中顯示一組查閲到的值,在此例爲(wèi)聯(lián)繫人姓名。聯(lián)繫人姓名是顯示值。 

帶有顯示顯示值的數(shù)據(jù)錶與顯示綁定值的數(shù)據(jù)錶

1. 顯示值。

2. 綁定值。

可以在設(shè)計(jì)視圖中查看多值字段的“查閲”屬性。方法如下:

  1. 單擊“Microsoft Office 按鈕” Office 按鈕圖像 ,然後單擊“打開”。

  2. “打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。

  3. 在導(dǎo)航窗格中,右鍵單擊存儲(chǔ)多值字段的錶。

  4. 單擊“設(shè)計(jì)視圖”

  5. 單擊多值字段(例如,單擊“分配給”)。

  6. “字段屬性”下,單擊“查閲”選項(xiàng)卡。

多值查閲字段屬性

瞭解查閲字段的顯示值及其綁定值之間的差彆非常重要。默認(rèn)情況下,顯示值自動(dòng)顯示在數(shù)據(jù)錶視圖中。但綁定值是存儲(chǔ)的值以及在查詢條件中使用的值,併且是 Access 默認(rèn)情況下在與其他錶的聯(lián)接中使用的值。

返迴頁首

如何在查詢中顯示綁定值

默認(rèn)情況下,顯示值自動(dòng)顯示在數(shù)據(jù)錶視圖中。在創(chuàng)建查詢時(shí),可以取代此行爲(wèi)以便顯示綁定值。以下是您要採取的步驟:

  1. 單擊“Microsoft Office 按鈕” Office 按鈕圖像 ,然後單擊“打開”。

  2. “打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。

  3. “創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。

    Access 功能區(qū)圖像

  4. “顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。

  5. 單擊“關(guān)閉”。

  6. 將要使用的字段拖動(dòng)到查詢?cè)O(shè)計(jì)網(wǎng)格。在本例中,將“標(biāo)題”字段和名爲(wèi)“分配給”的多值字段拖動(dòng)到查詢網(wǎng)格。

  7. 在查詢網(wǎng)格內(nèi)的“AssignedTo.Value”字段中單擊,以使焦點(diǎn)位於該字段中。

  8. “設(shè)計(jì)”選項(xiàng)卡上的“顯示/隱藏”組中,單擊“屬性錶”。

  9. 在“屬性錶”中,在“查閲”選項(xiàng)卡上的“顯示控件”屬性中,選擇“文本框”。

查詢?cè)O(shè)計(jì)中的“顯示控件”屬性

在將“顯示控件”屬性更改爲(wèi)“文本框”時(shí),會(huì)禁用常規(guī)的查閲列行爲(wèi),以便顯示綁定值而不是顯示值。

查詢結(jié)果中顯示的綁定值

返迴頁首

爲(wèi)多值字段輸入簡單查詢條件

假設(shè)您要查看分配給“王凱利”的問題??梢栽诓樵兙W(wǎng)格內(nèi)的“條件”行中輸入查詢條件,但在爲(wèi)查閲字段輸入條件時(shí),必鬚輸入綁定值而非顯示值。在本例中,您確定王凱利的綁定值是 6。該值是“聯(lián)繫人擴(kuò)展信息”查詢中凱利的主鍵值。

創(chuàng)建一箇查詢,顯示分配給凱利的問題:

  1. 單擊“Microsoft Office 按鈕” Office 按鈕圖像 ,然後單擊“打開”。

  2. “打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。

  3. “創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。

    Access 功能區(qū)圖像

  4. “顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”

  5. 單擊“關(guān)閉”。

  6. 將要使用的字段拖動(dòng)到查詢網(wǎng)格。在本例中,將“標(biāo)題”拖動(dòng)到網(wǎng)格中的第一列。然後,將“分配給”拖動(dòng)到第二列。

  7. 在該查詢網(wǎng)格選項(xiàng)卡上,在“分配給”下的“條件”行中,輸入“6”。請(qǐng)?jiān)]意,您輸入的是綁定值而非顯示值。

    多值字段中具有條件的查詢網(wǎng)格

  8. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”以運(yùn)行查詢。

在運(yùn)行查詢時(shí),結(jié)果顯示在數(shù)據(jù)錶視圖中。請(qǐng)?jiān)]意,該查詢僅返迴齣現(xiàn)“王凱利”的行。

“分配給”值包含 6 的查詢結(jié)果

在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。

  1. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。

  2. 單擊“SQL 視圖”。

該 SQL 語句類似以下形式:

SELECT Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

搜索文本而非 ID 號(hào)

如果髮現(xiàn)輸入 ID 號(hào)比較麻煩,而希望輸入姓名“王凱利”作爲(wèi)搜索條件,該怎樣做?爲(wèi)使其正常運(yùn)行,查詢結(jié)果中必鬚具有一箇包含文本姓名的字段。這樣,就可以在該字段中搜索“王凱利”瞭。

由於“AssignedTo.Value”字段的綁定值是 ID,您不能使用該字段,因此必鬚輸入 ID 來篩選該字段。

在本例中,聯(lián)繫人姓名字段不是位於錶中,而是位於爲(wèi)“分配給”多值字段提供數(shù)據(jù)的源查詢中。可以將該多值字段的源錶或查詢與包含該多值字段的錶相聯(lián)接,以在查詢結(jié)果中包括源錶或查詢中的字段(本例中爲(wèi)聯(lián)繫人姓名)。然後,可以搜索該字段而非多值字段。

  1. 單擊“Microsoft Office 按鈕” Office 按鈕圖像 ,然後單擊“打開”。

  2. “打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。

  3. “創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。

    Access 功能區(qū)圖像

  4. “顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。

  5. “顯示錶”對(duì)話框中,單擊“查詢”選項(xiàng)卡,單擊作爲(wèi)多值字段源的查詢(本例中爲(wèi)“聯(lián)繫人擴(kuò)展信息”),然後單擊“添加”

  6. 單擊“關(guān)閉”。

  7. 將要使用的字段拖動(dòng)到查詢網(wǎng)格。在本例中,將“標(biāo)題”從“問題”錶拖動(dòng)到網(wǎng)格中的第一列。然後,將“聯(lián)繫人姓名”從“聯(lián)繫人擴(kuò)展信息”查詢拖動(dòng)到第二列,併清除“顯示”複選框。接下來,將“分配給”拖動(dòng)到第三列。

  8. 如果“聯(lián)繫人擴(kuò)展信息”查詢中的“ID”字段和“AssignedTo.Value”字段之間的聯(lián)接線不可見(如下所示),請(qǐng)?jiān)凇奥?lián)繫人擴(kuò)展信息”查詢內(nèi)的“ID”字段中單擊,併拖動(dòng)到“問題”錶中的“AssignedTo.Value”字段。

    將齣現(xiàn)聯(lián)接線。

    如果任何其他聯(lián)接線可見,請(qǐng)刪除牠們。要?jiǎng)h除聯(lián)接線,請(qǐng)單擊該聯(lián)接線以使其突齣顯示,然後按 Delete。

  9. 在查詢窗格中,在“聯(lián)繫人姓名”下的“條件”行中,輸入“王凱利”。

    查詢網(wǎng)格中的“分配給”條件中包含“王凱利”

  10. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”以運(yùn)行查詢。

在運(yùn)行查詢時(shí),結(jié)果顯示在數(shù)據(jù)錶視圖中。請(qǐng)?jiān)]意,查詢結(jié)果隻顯示齣現(xiàn)“王凱利”的行。由於源錶或查詢中的 ID 和“AssignedTo.Value”字段爲(wèi)多值字段中的每箇值返迴一箇單獨(dú)的行,併且每行僅包含一箇帶有全名的“聯(lián)繫人姓名”字段,因此該技術(shù)能夠起作用。因爲(wèi)“聯(lián)繫人姓名”是計(jì)祘字段而非查閲字段,所以沒有綁定值和顯示值。隻有一箇值,卽聯(lián)繫人姓名。因此,可以提供要匹配的文本,在本例中爲(wèi)“王凱利”。 

查詢結(jié)果中的“分配給”條件中包含“王凱利”

在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。

  1. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。

  2. 單擊“SQL 視圖”。

該 SQL 語句類似以下形式:

SELECT Issues.Title, Issues.AssignedTo 
FROM [Contacts Extended] INNER JOIN Issues ON 
[Contacts Extended].ID = Issues.AssignedTo.Value 
WHERE ((([Contacts Extended].[Contact Name])= 
"Kelly Rollin"));

返迴頁首

在多值字段中搜索多箇值

有時(shí)候,您需要搜索對(duì)多箇值的匹配。假設(shè)您要查看“王凱利”和“郭莎莎”爲(wèi)“分配給”字段中的值時(shí)對(duì)應(yīng)的那些問題?!巴鮿P利”的綁定值是 6,“郭莎莎”的綁定值是 10。要爲(wèi)一箇多值字段指定幾箇條件,可以使用 AND 和 OR 運(yùn)祘符。

要?jiǎng)?chuàng)建查詢,請(qǐng)使用以下步驟。

  1. 單擊“Microsoft Office 按鈕” Office 按鈕圖像 ,然後單擊“打開”。

  2. “打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。

  3. “創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”

  4. “顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。

  5. 單擊“關(guān)閉”。

  6. 將要使用的字段拖動(dòng)到查詢網(wǎng)格。在本例中,將“標(biāo)題”拖動(dòng)到網(wǎng)格中的第一列。然後,將“分配給”拖動(dòng)到第二列。

  7. 在查詢網(wǎng)格中,在“分配給”下的“條件”行中,鍵入“6 And 10”。

    在多值字段中使用 AND 的查詢

  8. “設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”以運(yùn)行查詢。

在運(yùn)行查詢時(shí),結(jié)果顯示在數(shù)據(jù)錶視圖中。

在多值字段中使用 AND 的查詢結(jié)果

結(jié)果隻顯示衕時(shí)分配給“王凱利”和“郭莎莎”的問題。在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。

分享
文章分類
聯(lián)繫我們
聯(lián)繫人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
? 1999-2025 Office交流網(wǎng)?? 中山市天鳴科技髮展有限公司 粵ICP備10043721號(hào) SQL查詢:19
內(nèi)存占用:7.00MB
PHP 執(zhí)行時(shí)間:0.17
移動(dòng)訪問