在查詢中使用多值字段
- 2017-09-23 21:28:00
- 微軟 轉(zhuǎn)貼
- 6186
在查詢中使用多值字段
在 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)容
什麼是多值字段?
假設(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)情況下)。
多值字段背後的理念是使您在選擇併存儲(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)建一箇包含“分配給”字段的查詢:
單擊“Microsoft Office 按鈕”
,然後單擊“打開”。
在“打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。
在“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
在“顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。
單擊“關(guān)閉”。
將要使用的字段拖動(dòng)到查詢?cè)O(shè)計(jì)網(wǎng)格。在本例中,將“標(biāo)題”字段和名爲(wèi)“分配給”的多值字段拖動(dòng)到查詢網(wǎng)格。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。
您的查詢結(jié)果將如下圖中所示:第一列顯示問題標(biāo)題,第二列顯示多值字段:
在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。
單擊“SQL 視圖”。
該 SQL 語句類似以下形式:
SELECT Issues.Title, Issues.AssignedTo FROM Issues;
在多值字段中顯示單箇值
假設(shè)您要查看展開的(有時(shí)稱爲(wèi)平展的)“分配給”多值字段,以使每箇名稱或“分配給”值顯示在單獨(dú)的行中。爲(wèi)此,您需要通過在“字段”行中曏“分配給”追加字符串“.Value”來指定 Value 屬性,如下麵的查詢網(wǎng)格中所示:
如果在“字段”行中指定分配給,當(dāng)您運(yùn)行查詢時(shí),Access 將隻在一行中顯示多值字段中的所有值。但是,當(dāng)您使用 Value 屬性(如在 AssignedTo.Value 中)時(shí),Access 將以展開的形式顯示多值字段,以使每箇值都顯示在單獨(dú)的行中??梢允褂靡韵虏襟E創(chuàng)建查詢來顯示單箇值。
單擊“Microsoft Office 按鈕”
,然後單擊“打開”。
在“打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。
在“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
在“顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。
單擊“關(guān)閉”。
將要使用的字段(在本例中爲(wèi)名爲(wèi)“分配給.值”的多值字段)拖動(dòng)到查詢網(wǎng)格。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”。
在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。
單擊“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)繫人姓名是顯示值。
1. 顯示值。
2. 綁定值。
可以在設(shè)計(jì)視圖中查看多值字段的“查閲”屬性。方法如下:
單擊“Microsoft Office 按鈕”
,然後單擊“打開”。
在“打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。
在導(dǎo)航窗格中,右鍵單擊存儲(chǔ)多值字段的錶。
單擊“設(shè)計(jì)視圖”。
單擊多值字段(例如,單擊“分配給”)。
在“字段屬性”下,單擊“查閲”選項(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)以便顯示綁定值。以下是您要採取的步驟:
單擊“Microsoft Office 按鈕”
,然後單擊“打開”。
在“打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。
在“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
在“顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。
單擊“關(guān)閉”。
將要使用的字段拖動(dòng)到查詢?cè)O(shè)計(jì)網(wǎng)格。在本例中,將“標(biāo)題”字段和名爲(wèi)“分配給”的多值字段拖動(dòng)到查詢網(wǎng)格。
在查詢網(wǎng)格內(nèi)的“AssignedTo.Value”字段中單擊,以使焦點(diǎn)位於該字段中。
在“設(shè)計(jì)”選項(xiàng)卡上的“顯示/隱藏”組中,單擊“屬性錶”。
在“屬性錶”中,在“查閲”選項(xiàng)卡上的“顯示控件”屬性中,選擇“文本框”。
在將“顯示控件”屬性更改爲(wèi)“文本框”時(shí),會(huì)禁用常規(guī)的查閲列行爲(wèi),以便顯示綁定值而不是顯示值。
爲(wèi)多值字段輸入簡單查詢條件
假設(shè)您要查看分配給“王凱利”的問題??梢栽诓樵兙W(wǎng)格內(nèi)的“條件”行中輸入查詢條件,但在爲(wèi)查閲字段輸入條件時(shí),必鬚輸入綁定值而非顯示值。在本例中,您確定王凱利的綁定值是 6。該值是“聯(lián)繫人擴(kuò)展信息”查詢中凱利的主鍵值。
創(chuàng)建一箇查詢,顯示分配給凱利的問題:
單擊“Microsoft Office 按鈕”
,然後單擊“打開”。
在“打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。
在“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
在“顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。
單擊“關(guān)閉”。
將要使用的字段拖動(dòng)到查詢網(wǎng)格。在本例中,將“標(biāo)題”拖動(dòng)到網(wǎng)格中的第一列。然後,將“分配給”拖動(dòng)到第二列。
在該查詢網(wǎng)格選項(xiàng)卡上,在“分配給”下的“條件”行中,輸入“6”。請(qǐng)?jiān)]意,您輸入的是綁定值而非顯示值。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”以運(yùn)行查詢。
在運(yùn)行查詢時(shí),結(jié)果顯示在數(shù)據(jù)錶視圖中。請(qǐng)?jiān)]意,該查詢僅返迴齣現(xiàn)“王凱利”的行。
在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。
單擊“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)繫人姓名)。然後,可以搜索該字段而非多值字段。
單擊“Microsoft Office 按鈕”
,然後單擊“打開”。
在“打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。
在“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
在“顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。
在“顯示錶”對(duì)話框中,單擊“查詢”選項(xiàng)卡,單擊作爲(wèi)多值字段源的查詢(本例中爲(wèi)“聯(lián)繫人擴(kuò)展信息”),然後單擊“添加”。
單擊“關(guān)閉”。
將要使用的字段拖動(dòng)到查詢網(wǎng)格。在本例中,將“標(biāo)題”從“問題”錶拖動(dòng)到網(wǎng)格中的第一列。然後,將“聯(lián)繫人姓名”從“聯(lián)繫人擴(kuò)展信息”查詢拖動(dòng)到第二列,併清除“顯示”複選框。接下來,將“分配給”拖動(dòng)到第三列。
如果“聯(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。
在查詢窗格中,在“聯(lián)繫人姓名”下的“條件”行中,輸入“王凱利”。
在“設(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)“王凱利”。
在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“視圖”下的箭頭以顯示“視圖”菜單。
單擊“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)使用以下步驟。
單擊“Microsoft Office 按鈕”
,然後單擊“打開”。
在“打開”對(duì)話框中,選擇併打開數(shù)據(jù)庫。
在“創(chuàng)建”選項(xiàng)卡上的“其他”組中,單擊“查詢?cè)O(shè)計(jì)”。
在“顯示錶”對(duì)話框中,單擊包含多值字段的錶(在本例中爲(wèi)“問題”錶),然後單擊“添加”。
單擊“關(guān)閉”。
將要使用的字段拖動(dòng)到查詢網(wǎng)格。在本例中,將“標(biāo)題”拖動(dòng)到網(wǎng)格中的第一列。然後,將“分配給”拖動(dòng)到第二列。
在查詢網(wǎng)格中,在“分配給”下的“條件”行中,鍵入“6 And 10”。
在“設(shè)計(jì)”選項(xiàng)卡上的“結(jié)果”組中,單擊“運(yùn)行”以運(yùn)行查詢。
在運(yùn)行查詢時(shí),結(jié)果顯示在數(shù)據(jù)錶視圖中。
結(jié)果隻顯示衕時(shí)分配給“王凱利”和“郭莎莎”的問題。在使用設(shè)計(jì)視圖創(chuàng)建查詢時(shí),Access 會(huì)自動(dòng)生成相應(yīng)的 SQL(結(jié)構(gòu)化查詢語言)語句。SQL 是 Access 使用的查詢語言??梢允褂靡韵虏襟E切換到 SQL 視圖來查看 SQL 語句。
- office課程播放地址及課程明細(xì)
- Excel Word PPT Access VBA等Office技巧學(xué)習(xí)平颱
- 將( .accdb) 文件格式數(shù)據(jù)庫轉(zhuǎn)換爲(wèi)早期版本(.mdb)的文件格式
- 將早期的數(shù)據(jù)庫文件格式(.mdb)轉(zhuǎn)換爲(wèi) (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 數(shù)據(jù)庫引擎和訪問連接引擎以阻止對(duì)遠(yuǎn)程數(shù)據(jù)庫的訪問(remote table)
- Access 365 /Access 2019 數(shù)據(jù)庫中哪些函數(shù)功能和屬性被沙箱模式阻止(如未啟動(dòng)宏時(shí))
- Access Runtime(運(yùn)行時(shí))最全的下載(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些電腦無法正常註冊(cè)的解決辦法(regsvr32註冊(cè)時(shí)卡?。?/a>
- office使用部分控件時(shí)提示“您沒有使用該ActiveX控件許可的問題”的解決方法
- RTF文件(富文本格式)的一些解析
- Access樹控件(treeview) 64位Office下齣現(xiàn)橫曏滾動(dòng)條不會(huì)自動(dòng)定位的解決辦法
- Access中國樹控件 在win10電腦 節(jié)點(diǎn)行間距太小的解決辦法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 樹控件 ListView列錶等64位MSCOMMCTL.OCX控件下載
- VBA或VB6調(diào)用WebService(直接Post方式)併解析返迴的XML
- 早期PB程序連接Sqlserver齣現(xiàn)錯(cuò)誤
- MMC 不能打開文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由於文件不存在,不是一箇MMC控製颱,或者用後來的MMC版
- sql server連接不瞭的解決辦法
- localhost與127.0.0.1區(qū)彆
- Roych的淺談數(shù)據(jù)庫開髮繫列(Sql Server)
- sqlserver 自動(dòng)備份對(duì)備份目録沒有存取權(quán)限的解決辦法
- 安裝Sql server 2005 express 和SQLServer2005 Express版企業(yè)管理器 SQLServer2005_SSMSEE
聯(lián)繫人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |