在執行查詢時使用參數要求輸入

在執行查詢時使用參數要求輸入

若要在 Access 桌面資料庫中於執行查詢時要求使用者輸入準則,請建立參數查詢。如此一來可以反覆使用相同查詢,而不必一直在 設計檢視 中開啟查詢來編輯準則。

附註: 本文內容不適用於 Access Web App。

在開始操作下列步驟之前,請先瞭解這些用語:

  • 參數    參數就是在執行查詢時所提供的一段資訊。參數可以單獨使用,也可以做為較大運算式的一部分,形成查詢的準則。下列任何一種查詢均可加入參數:

    • 選取

    • 交叉資料表

    • 附加

    • 產生資料表

    • 更新

  • 準則   準則是一種「篩選器」,指定該查詢執行時應傳回哪些項目。

如需前述查詢類型的詳細資料,請參閱查詢簡介

建立參數的方法,和在查詢加入一般準則的方法類似:

  1. 建立 Select 查詢,然後在 [設計檢視] 中開啟查詢。

  2. 在您要套用參數的欄位的 [準則] 資料列,輸入要顯示於參數方塊的文字,並以方括號括住。例如,[Enter the start date:]

    一個簡單的參數查詢。

  3. 為每一個要加入參數的欄位重複第 2 步驟。

當您執行查詢時,即會顯示該提示句,不含方括號。

參數提示句「請輸入開始日期:」

填入您要尋找的資料值,然後按一下 [確定]。

您可以在一個準則中使用多個參數。例如,當您執行查詢時,Between [Enter the start date:] And [Enter the end date:] 會產生兩個提示。

含有兩個參數的參數查詢。

新增參數至聯集查詢

因為查詢設計格線中無法檢視聯集查詢,所以必須稍微改變做法:

  1. 在 SQL 檢視中開啟聯集查詢。

  2. 新增一個 WHERE 子句,內含您要加入參數的欄位。

    若 WHERE 子句已存在,請查看您要加入參數的欄位是否已列於該子句。若無,請在此加入。

  3. 將參數提示句輸入 WHERE 子句,例如 WHERE [StartDate] = [Enter the start date:]

    兩段式聯集查詢,兩邊皆具有下列句子:WHERE StartDate = [請輸入開始日期:]

    請注意,您必須在查詢的每一段加入相同篩選條件。在上圖中的查詢有兩段 (以 UNION 關鍵字區隔),所以必須加入兩次參數。不過,當您執行查詢時,提示句僅會顯示一次 (假設每一段的提示句完全相同)。

如需關於聯集查詢的詳細資訊,請參閱使用聯集查詢檢視多個查詢的彙整結果

在參數中使用萬用字元以提供更高彈性

與普通的準則相同,參數也可以結合 Like 關鍵字及萬用字元,使其符合更多項目。例如,您可能會要查詢提示輸入生產國家/地區,但只要任何值包含參數字串即算相符。若要這麼做:

  1. 建立 Select 查詢,然後在 [設計檢視] 中開啟查詢。

  2. 在您要新增參數的欄位的 [準則] 資料列,輸入 Like "*"&[ (您要做為提示的文字),然後輸入 ]&"*"

    查詢設計格線,在 CountryRegion 資料行中輸入以下準則:Like "*" & [請輸入國家/地區:] & "*"

當您執行此參數查詢時,該提示會顯示在對話方塊中而不加方括弧,也不會顯示 Like 關鍵字或萬用字元:

以「請輸入國家/地區」為提示文字的參數提示。

輸入參數後,查詢會傳回內含參數字串的值。例如,參數字串 us 會傳回的項目包含參數欄位值為 Australia 的項目,以及值為 USA 的項目。

如需關於萬用字元的詳細資訊,請參閱使用萬用字元做為準則

傳回不符合參數的項目

有時您不想要查詢符合參數的項目,而是要查詢不符合的項目。例如,假設您要在提示輸入年份後,傳回年份大於輸入年份的項目。做法便是在括住參數提示的第一個方括弧左邊,輸入一個比較運算子;例如 >[Enter a year:]

指定參數的資料型別

參數可以設為僅接受特定資料類型。為數值、貨幣或日期/時間資料指定資料類型特別重要,因為如此使用者輸入錯誤資料類型時可以看到有幫助的錯誤訊息;例如詢問貨幣值卻輸入文字時。

附註: 如果將參數設定為接受文字資料,則任何輸入項目都會解譯成文字,且不會顯示任何錯誤訊息。

要指定查詢參數的資料類型:

  1. 在 [設計] 檢視中開啟查詢的情況下,於 [設計] 索引標籤的 [顯示/隱藏] 群組中,按一下 [參數]

  2. [查詢參數] 方塊的 [參數] 資料行中,為每一個要指定資料類型的參數輸入提示。請務必確認每個參數都符合您在查詢設計格線的 [準則] 資料列中使用的提示。

  3. [資料型別] 資料行中,選取每個參數的資料型別。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×