附註: 我們想要以您的語言,用最快的速度為您提供最新的說明內容。 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 希望您能在本頁底部告訴我們這項資訊是否有幫助。 此為英文文章出處,以供參考。
本文說明如何使用臨界數值查詢在 Access 中尋找最高或最低值一組記錄中。 您可以使用臨界數值查詢回答商務問題的各種不同,以及哪些產品銷售也哪些不。
您想要做什麼?
了解臨界數值查詢
當您需要找出包含資料表欄位中的頂端或底端值的記錄時,您可以使用臨界數值查詢。 您可以使用臨界數值查詢來回答下列類型的問題。
-
這是最高或最低昂貴的產品?
-
哪些三個員工有下一個生日?
-
哪些細分發揮最大或最銷售產生在今年?
-
哪些產品佔用頂端 10 個或最後五個百分比的銷售嗎?
-
每個產品類別中的哪些產品佔用頂端 10 個或最後五個百分比的銷售嗎?
簡要放置,請臨界數值查詢排序,並再篩選資料,以傳回頂端或底端值欄位中。 您可以使用臨界數值查詢搜尋 (包括貨幣) 的數字和日期值。
建立臨界數值查詢的程序會依循下列大略的步驟:
-
建立合計查詢或選取查詢。
您可以使用查詢尋找表格中頂端或底端的值。 您可以使用合計查詢以找出頂端或底端值的一或多個類別中。 例如,如果您想要回答的問題,例如 「 什麼是最或最昂貴的產品 」,您首先建立選取查詢。 若要回答的問題,例如 「 中每個產品類別的產品佔用頂端或底端的銷售,五個百分比 」 會使用合計查詢。 此外,您可以使用任一種類型的查詢,若要尋找 [上及下值的記錄群組或分為類別的記錄。
-
套用到查詢的排序順序。
-
將其他準則套用至查詢。
-
指定您想要查詢傳回的記錄數目。 您可以指定百分比,例如頂端 5%的值的欄位中,或者您可以指定固定數字,例如頂端 10 值欄位中。
臨界數值查詢和篩選之間進行選擇
若要判斷您是否應該建立臨界數值查詢,或套用篩選,請考慮下列事項:
-
如果您想要傳回包含在欄位中,最高或最低值的記錄,您不知道確切的頂端或底部欄位值 (或它們不是很重要) 建立臨界數值查詢。
-
如果您想要傳回的所有記錄欄位中的值符合的位置,或可能是小於或大於您感興趣,您套用篩選的值。 例如,若要查看價格介於 $50 和 $100 之間的產品,您會套用篩選。 此圖說明範例中的篩選查詢設計檢視] 和 [篩選器可以產生的結果:
如需有關建立和使用篩選的詳細資訊,請參閱套用篩選,以檢視選取 [在 Access 資料庫中的記錄。
建立及使用臨界數值查詢規則
當您繼續,請記住,無論查詢類型 ([選取] 查詢或 [合計] 查詢),您必須使用包含描述性的資料,例如員工或產品名稱的欄位及包含您想要尋找,例如價格或 da 的頂端或底端值的欄位te 欄位。 您可以使用多個資料欄位,如果您使用 [合計] 查詢,將資料欄位通常應該包含類別的資訊,例如國家/地區碼或城市] 欄位。 您可以省略類別資料,只有當您建立合計查詢的執行針對所有記錄,例如 [顯示我前五個百分比的最昂貴的訂單]。 此外,您可以使用合計查詢或選取 [若要尋找 [上及下值群組中的記錄或可分為類別的記錄。 如需詳細了這樣的詳細資訊,請參閱找出類別或群組中的記錄的頂端或底端數值,本文稍後的章節。
尋找包含頂端或底端值的記錄
本節中的步驟說明如何建立基本的臨界數值查詢及進階的查詢。 第一個步驟示範臨界數值查詢的基本組件,而第二個區段會說明如何尋找下一步的幾個員工生日。 這些步驟會使用下列範例資料表:
姓氏 | 名字 | 地址 | 城市 | 國家/地區 | 出生日期 | 雇用日期 |
---|---|---|---|---|---|---|
孫哲翰 |
沙東 |
1 Main St. |
New York |
USA |
05-二月-1968 年,用 |
1994 年 6 月月 10 日 |
Heloo |
Waleed |
52 1st St. |
Boston |
USA |
22-5-1957 |
1996 年 11 月月 22 日 |
Guido |
盧珮佳 |
3122 75th Ave. S.W. |
Seattle |
USA |
1960 年 11 月 11 日 |
2000-3 月 11 日 |
硬 |
Jean-francois Philippe |
1 Contoso Blvd. |
London |
UK |
22-三月-1964 |
1998 年 6 月 22 日 |
價格 |
Julian |
Calle Smith 2 |
Mexico City |
墨西哥 |
05-6 月-1972 |
2002 年 1 月 05 日 |
Hughes |
Christine |
3122 75th 聖 s。 |
Seattle |
USA |
從 1 月 23 1970 |
1999 年 4 月 23 日 |
Riley |
Steve |
67 Big St. |
Tampa |
USA |
14-四月-1964 |
2004 年 10 月 14 日 |
Birkby |
Dana |
2 nosey Pkwy |
Portland |
USA |
29-Oct-1959 |
1997 年 3 月月 29 日 |
硬 |
Jean-francois Philippe |
1 Contoso Blvd. |
London |
UK |
22-三月-1964 |
1998 年 6 月 20 日 |
如果您想要您可以手動輸入資料在此範例資料表中,或您可以將表格複製到試算表程式,例如 Microsoft Excel 中,,然後將結果工作表匯入Access中的表格。
附註: 如果您沒有安裝試算表程式,您可以將範例資料複製到 「 記事本 」 等文字編輯器中。 如需有關匯入文字資料的詳細資訊,請參閱匯入或連結到文字檔中的資料。
建立基本的臨界數值查詢
-
在 [建立] 索引標籤上,按一下 [查詢] 群組中的 [查詢設計]。
-
在 [顯示資料表] 對話方塊中,按一下您想要在查詢中使用,按一下 [新增至資料表置於設計格線中,然後再按一下 [關閉資料表。
-
按兩下該表格。
如果您使用的範例資料,請將 [員工] 資料表新增至查詢。 -
新增您想要使用您在查詢設計格線中的欄位。 您可以按兩下每個欄位,或拖放在 [欄位] 列中的空白儲存格上的每個欄位。
如果您使用範例資料表,請新增名字、 姓氏及出生日期欄位。 -
在欄位中包含您頂端或底端的值 ([出生日期欄位中,如果您使用範例資料表),按一下 [排序] 資料列,然後選取 [遞增] 或 [遞減排序]。
如果您的 [值] 欄位包含數字,價格或銷售數字,例如[遞增排序順序傳回最小值,和遞減排序順序傳回最大值。 如果您的 [值] 欄位包含日期,遞減排序順序就會傳回的最新的日期,而遞增傳回的最早日期。重要: 您必須設定為[遞增] 或 [遞減排序] 資料列,僅適用於包含您的頂端或底端值的欄位。 如果您指定欄位的排序順序以外的其他包含您的頂端或底端值的欄位,例如產品名稱,而不是價格,查詢將不會傳回您想要的結果。
-
在 [設計] 索引標籤的 [查詢設定] 群組中,按一下向下箭號的旁邊傳回(在前面的值清單),請輸入數字或您想要查看,或從清單中選取一個選項的記錄的百分比。
-
按一下 [若要執行查詢並將結果顯示在資料工作表檢視中的 [執行]。
-
儲存查詢並將它維持開啟使用中的下一個步驟。
您可以看到這種臨界數值查詢可以回答基本的問題,例如誰是最舊或公司中的最新人員。 接下來的步驟說明如何使用運算式,以及其他準則新增至查詢的強大功能與彈性。 顯示下一個步驟中傳回接下來三個員工生日的準則。
新增準則至查詢
附註: 這些步驟是假設您會使用上一節所述的查詢。
-
在 [設計檢視] 中開啟您在上述步驟中建立的查詢。
-
在查詢設計格線中,在欄右邊的 [出生日期] 欄中,複製並貼上或輸入運算式運算式 1: DatePart("m",[出生日期])。 DatePart函數擷取出生日期] 欄位中的值的月份部分。
-
包含運算式的資料欄的右邊,以複製並貼上或輸入運算式運算式 2: DatePart("d",[出生日期])。 在此情況下, DatePart函數擷取日期部分中的 [出生日期欄位的值。
-
清除核取方塊,顯示列中的每個運算式,然後按一下每個運算式排序儲存格並選取 [遞增]。
-
或者,您可以指定準則限制查詢的範圍。 當您指定的準則時,查詢會排序最符合準則的記錄,其識別的頂端或底部欄位值的排序清單中。
若要繼續範例資料,請在 [準則] 列的 [出生日期] 欄位中,輸入或複製並貼上此運算式:月 ([出生日期]) > Month(Date()) 或月 ([出生日期]) = Month(Date()) 和天 ([出生 Date])>Day(Date())
這個運算式會下列動作:月 ([出生日期]) > Month(Date())部分會檢查每位員工的出生日期,請參閱是否它落在未來的月份,然後如果為 true,請在查詢中包含這些記錄。 月 ([出生日期]) = Month(Date()) 和天 ([出生日期]) >Day(Date())運算式的部分會檢查目前月份查看出生日期如果落在或之後所發生的出生日期目前的日期。 如果條件為 true,函數將查詢結果中包含這些記錄。 若要總而言之,這個運算式會忽略任何位置的出生日期介於年 1 月 1 並執行查詢的日期的記錄。
若要查看更多的查詢準則運算式範例,請參閱查詢準則範例一文。
-
在 [設計] 索引標籤的 [查詢設定] 群組中,按一下向下箭號的旁邊傳回(在前面的值清單),請輸入數字或您想要查看,或從清單中選取一個選項的記錄的百分比。
-
按一下 [若要執行查詢並將結果顯示在資料工作表檢視中的 [執行]。
如果您的查詢會傳回比預期更多的記錄
如果您的資料包含共用的日期值的記錄,臨界數值查詢可能會傳回比預期更多資料。 比方說,您可以設計臨界數值查詢來擷取三個員工記錄,但實際上看到四個因為"Wilson"和"Edwards 「 共用生日。 此類型查詢會傳回所有上方的值,不論如何多筆記錄擁有這些值。 若要排除重複的值,您可以設定名為 [是]的唯一值的屬性。 如需使用該屬性,請參閱本文稍後的如果您看到 [重複的記錄] 區段。
姓氏 | 出生日期 |
---|---|
什麼 |
9/26/1968 年,用 |
Jacobsen |
10/2/1970 |
Edwards |
10/15/1965 |
Wilson |
10/15/1969 |
如果您的查詢會傳回比預期更少的記錄
假設您設計查詢傳回的頂端或底部五筆記錄中的欄位中,但您只看到三個記錄。 規則,請為您解決該類型的問題設計檢視] 中開啟查詢並檢視在設計格線中的準則可比您預期更嚴格的 [準則] 列。 如需詳細了準則的詳細資訊,請參閱查詢準則範例一文。
如果您看到 [重複的記錄
如果臨界數值查詢會傳回重複的項目,基礎資料表包含重複的記錄,或是記錄看起來是因為查詢不包含可區別的記錄欄位的重複項目。 例如,下列查詢,顯示五個訂單運送最近銷售人員的名稱以及誰處理交易。
出貨日期 | 銷售人員 |
---|---|
2004/11/12 |
Fontana |
2004/11/12 |
說 |
2004/10/12 |
Osada |
2004/10/12 |
Osada |
2004/10/12 |
Fontana |
要重複項目,會在第三和第四筆記錄,但可能是因為 c10 Osada 處理兩個不同訂單運送同一天。
根據您的需求,您可以執行下列一項以避免傳回重複的記錄。 您可以變更查詢的設計,將會協助區分記錄,例如訂單編號] 和 [客戶編號欄位的欄位。 或者,如果不足以查看其中重複的記錄,您可以查詢的唯一值屬性設定為[是]以顯示筆相異的記錄。 若要設定此屬性,在查詢設計檢視中,按下 F4 以顯示查詢屬性表,找出 [唯一值屬性並將它設定為[是]。
如需有關處理重複記錄的詳細資訊,請參閱尋找重複的記錄,使用查詢。
尋找類別或群組中的記錄的頂端或底端的值
您尋找記錄分成群組,以建立合計查詢的頂端或底端的值。 繼續進行時,記住,根據預設,只有欄位或包含您的群組資料,例如 「 類別 」 欄位,以及含有頂端或底端的值,例如 「 price 」 欄位的欄位的欄位,可以包含合計查詢。 合計查詢不能包含其他欄位,說明類別中的項目。 不過,您可以建立第二個查詢包含合計查詢中的欄位加上敘述性的資料包含其他資料表的欄位。
例如,假設您有產品目錄,且您指定每個產品類別,例如棋盤遊戲,謎題,依此類推。 如果您建立合計查詢以識別最昂貴的產品,每個類別,查詢只能包含欄位或含有類別資料欄位及含有價格資料的欄位。 這個範例中,假設名為類別名稱的欄位和名為 Price 的欄位。 當您執行此類型查詢時,Access 例子 「 MaxOf 」 或 「 MinOf 」 (根據您選擇的函式) 的 [價格] 欄位中,就像這樣:
類別名稱 | MaxOfPrice |
---|---|
棋盤遊戲 |
$ 55.00 |
謎題 |
$ 43.90 |
電腦遊戲 |
$ 263.50 |
布偶 |
$ 81.00 |
... |
... |
您合計查詢不能包含其他欄位,可協助說明產品 (,因此讓資料更容易理解),例如產品名稱] 或 [供應商的名稱,就像這樣:
類別名稱 | MaxOfPrice | 產品名稱 | 供應商名稱 |
---|---|---|---|
棋盤遊戲 |
$ 55.000 |
搭配 c + + 的樂趣 |
Proseware 國廣兌 |
謎題 |
$ 43.90 |
關聯式資料庫圖表 |
宇奏發佈 |
電腦遊戲 |
$ 263.50 |
電腦玩家和神獸生物 |
Litware, Inc. |
布偶 |
$ 81.00 |
程式設計師動作圖 |
Contoso,Ltd |
... |
... |
... |
... |
如果您想要查看該描述性的資料,您可以建立結合的其他資料欄位的欄位合計查詢中的第二個選取查詢。
本節中的步驟說明如何建立合計查詢與選取查詢需要找出在每個最昂貴的產品類別的一組。 下列步驟假設下列範例資料表中的使用:
[類別] 表格
CategoryID | 類別名稱 | 描述 |
---|---|---|
1 |
棋盤遊戲 |
所有的年齡和技能層級 |
2 |
謎題 |
針對 word 謎題、 拼圖玩具 |
3 |
電腦遊戲 |
所有的主機與技能層級 |
4 |
布偶 |
行動數據,方式布偶 |
5 |
運動設備 |
彈珠,衣服網路 |
6 |
模型/嗜好 |
飛機,汽車火車 |
供應商] 資料表
供應商編號 | 供應商名稱 |
---|---|
1 |
皓 |
2 |
Tailspin Toys |
3 |
北風貿易 |
4 |
冒險工廠 |
5 |
宇奏發佈 |
6 |
Proseware 國廣兌 |
7 |
Contoso,Ltd |
8 |
全球匯入工具 |
9 |
Wingtip 玩具 |
10 |
全球匯入工具 |
11 |
Litware, Inc. |
12 |
台灣視訊 |
[產品] 資料表
產品名稱 | 供應商編號 | CategoryID | 價格 |
---|---|---|---|
程式設計師動作圖 |
7 |
4 |
$ 12.95 |
搭配 c + + 的樂趣 |
6 |
1 |
$ 15.85 |
關聯式資料庫圖表 |
5 |
2 |
$ 22.50 |
神奇電腦晶片 |
3 |
2 |
$ 32.65 |
存取 ! 遊戲 ! |
1 |
1 |
$ 22.95 |
電腦玩家和神獸生物 |
11 |
3 |
$ 78.50 |
針對電腦玩家練習 ! DVD ! |
4 |
5 |
$ 14.88 |
飛翔披薩 ultimate |
2 |
5 |
$ 36.75 |
外部 5.25 英吋磁碟磁碟磁碟機 (1/4 縮放比例) |
8 |
6 |
$ 65.00 |
管理員-動作圖 |
9 |
4 |
$ 78.88 |
暗影處看看 |
12 |
3 |
$ 53.33 |
建立您自己的鍵盤 |
1 |
6 |
$ 77.95 |
附註: 步驟也會假設類別及產品資料表,和相同的供應商和產品資料表之間的一個對多關聯。 在此案例中,表格會共用 [供應商編號和先根據 [CategoryID] 欄位。 下一節所述的 [合計] 查詢沒有關聯性,將無法運作。
建立合計查詢
-
在 [建立] 索引標籤上,按一下 [查詢] 群組中的 [查詢設計]。
-
在 [顯示資料表] 對話方塊中,選取您想要使用,按一下 [新增],然後按一下關閉之後您完成新增資料表的資料表。
-
按兩下您要使用的資料表,然後按一下 [關閉]。 在設計格線中會顯示每個資料表。 如果您使用上述的範例資料表時,您可以新增類別和 [產品] 資料表。 -
按兩下您想要使用您在查詢中的資料表欄位。
此時,確保將只有 [群組] 欄位和 [值] 欄位新增至查詢。 如果您使用上表中所列的範例資料,您可以從 [產品] 資料表新增類別名稱] 欄位從 [類別] 表格和價格欄位。 -
或者,您可以指定準則限制查詢的範圍。
隨後便會排序符合準則的記錄,然後上方和下方的欄位值會識別此排序清單中。 比方說,若要排除在 [運動] 類別中的產品,您將這個運算式的類別名稱] 欄位中的 [準則] 列: <> 「 運動 」。
若要查看更多的查詢準則運算式範例,請參閱查詢準則範例一文。 -
查詢轉換至合計查詢。
-
在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [合計]。
[合計] 列會顯示在設計格線中。
-
-
確定每個群組欄位的總計的儲存格是設定為 [群組依據],然後將值欄位 (包含頂端或底端數值的欄位) 的總儲存格設定為 [最大值] 或 [最小值。
選取 [最大數值的欄位和日期/時間] 欄位中的最新日期或時間值中傳回最大值。 選取 [最小值傳回數值的欄位和日期/時間] 欄位中的最早日期或時間值的最小值。 如果您使用的範例資料,將 [類別名稱] 欄位的總儲存格群組依據] 和 [最大或最小值的 [價格] 欄位的總儲存格。 -
[設計] 索引標籤中 [工具] 群組中,確認 [傳回] 清單會設定為 [所有],然後按一下 [執行執行查詢並在資料工作表檢視中顯示結果。
附註: 根據您在步驟 7 選擇的函式,存取在查詢中的 [值] 欄位的名稱變更為MaxOffieldname 功能或MinOffieldname 功能。 如果您使用範例資料表時,Access 重新命名的欄位MaxOfPrice或MinOfPrice。
-
儲存查詢,然後移至下一個步驟。
查詢不會傳回產品名稱或其他產品的相關資訊。 若要查看其他資料,您需要建立第二個查詢,其中包含您剛才建立的查詢。 接下來的步驟說明如何建立這個第二個查詢。
建立第二個查詢以檢視更多資料
-
在 [建立] 索引標籤上,按一下 [查詢] 群組中的 [查詢設計]。
-
在 [顯示資料表] 對話方塊中,按一下 [查詢] 索引標籤,然後按兩下您在上一節中建立合計查詢。
-
按一下 [表格] 索引標籤,然後新增您合計查詢中使用表格加上包含的其他相關的資料,您想要查看的任何資料表。
如果您使用前述範例資料表時,您可以新增類別、 產品和供應商資料表至新查詢。 -
其父資料表中對應的欄位來加入合計查詢中的欄位。 若要這樣做,請拖曳合計查詢中的每個欄位至資料表中的對應欄位。
如果您使用的範例資料,請將合計查詢中的類別名稱] 欄位拖曳到 Categories 資料表中的類別名稱] 欄位。 您再將合計查詢 MaxOfPrice 欄位拖曳至 [產品] 資料表中的 [價格] 欄位。 聯結會啟用您新的選取查詢以整合合計查詢中的資料與其他資料表的資料。
-
在合計查詢的視窗中,按兩下星號以新增整個查詢至設計格線中,,然後拖曳這些額外的欄位來自查詢中的其他資料表。
如果您使用範例資料表,連按兩下您在上一節中建立合計查詢,然後分別從 [產品和供應商] 資料表中新增 [產品名稱] 和 [供應商] 欄位。
-
或者,您可以指定一或多個欄的排序順序。
比方說,如果清單字母順序排列的類別,您可以將排序欄的儲存格中的類別名稱以遞增。 -
在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。
這在執行查詢,並將結果顯示在資料工作表檢視。
提示: 如果您不想要顯示為MaxOfPrice或MinOfPrice[價格] 欄標題,在 [設計檢視] 中開啟查詢,然後在 [格線中的 [價格] 欄中,輸入價格: MaxOfPrice或價格: MinOfPrice。 這樣做會顯示為資料工作表檢視中的欄標題的價格。
尋找包含 [上及下值的記錄
頂端或底端的值,但並非兩者同時,可傳回本文稍早建立的查詢。 如果您想要查看兩組值中的單一檢視,您需要建立兩個查詢 — 擷取頂端值,另一個擷取底端值的其中一個,然後合併並儲存在單一資料表中的結果。
尋找頂端和底端的值,並在表格中顯示該資料的程序會依循下列大略的步驟:
-
建立臨界數值查詢和底端值查詢,或者,如果您需要將資料分組,請建立合計查詢的使用Min與Max函數。
-
將最值的查詢 (或最大合計查詢) 至製成資料表查詢,並執行此查詢,以建立新的資料表。
-
您底端值的查詢 (或最小值合計查詢) 轉換為新增查詢,並執行此查詢將記錄新增至您主要的值的資料表。
下列章節中的步驟說明如何建立查詢。
附註: 數位簽署的資料庫,或它存放在信任的位置,除非存取防止您以下執行巨集指令查詢所述。 請依照下列步驟,以啟用任何封鎖的內容,再嘗試建立製作第一個組合表格],然後新增此處所述的查詢。
啟用資料庫中的內容
-
在 [訊息列] 上,按一下 [啟用內容]。
-
再次執行查詢。
-
-
建立 [上及下值的查詢。
建立頂端或底端值查詢時所需的步驟,請參閱一節尋找具有臨界或底端數值的記錄,請稍早在本文章中。 如果您需要將您的記錄依類別,請參閱一節尋找類別或群組中的記錄的頂端或底端值,請稍早在本文章中。
-
儲存每個查詢,並讓維持在開啟使用中的下一個步驟。
建立產生資料表查詢
-
與您臨界數值查詢設計檢視中開啟:
在 [設計] 索引標籤的 [查詢類型] 群組中,按一下 [製成資料表]。
[製成資料表] 對話方塊隨即出現。 -
在 [表格名稱] 方塊中,輸入將儲存的上方和下方的記錄之資料表的名稱。 比方說,輸入頂端和底部記錄,然後按一下[確定]。
每當您執行查詢,而非資料工作表檢視中顯示結果,查詢會建立一個資料表和頂端值取代目前的資料。 -
儲存並關閉查詢。
建立新增查詢
-
在 [設計檢視] 中開啟底端值查詢。
-
在 [設計] 索引標籤的 [查詢類型] 群組中,按一下 [新增]。
-
在 [附加] 對話方塊中,輸入您在 [製成資料表] 對話方塊中輸入相同的名稱。
例如,輸入頂端和底部記錄,然後再按一下[確定]。 每次執行查詢,而不是在資料工作表檢視中顯示結果,查詢會將附加記錄頂端和底部記錄的資料表。 -
儲存並關閉查詢。
執行查詢
您已準備好要執行兩個查詢。
-
在 [功能窗格] 中按兩下臨界數值查詢並在郵件中,按一下[是] 。
-
按兩下底端值查詢和在郵件中,按一下[是] 。
-
資料工作表檢視] 中開啟的上方和下方記錄的資料表。