查詢是一組指示,可用於處理資料。 您執行查詢以執行這些指示。 除了會排序、分組或篩選的結果之外,查詢也可以建立、複製、刪除或變更資料。

本文說明如何執行查詢,並僅提供各種類型的查詢的簡要概觀。 本文也會探討當您執行不同類型的查詢時,可能會遇到的錯誤訊息,並提供解決或修正這些錯誤時可採取的步驟。

本文未提供建立查詢的逐步指示。

重要: 如果資料庫以停用模式運作,就無法執行動作查詢,此為 Access 在某些情況下用來協助保護資料的精簡功能模式。 您可能會看到對話方塊警告,或您可能會在訊息欄中看到警告。

有關停用模式以及如何啟用動作查詢的資訊,請參閱執行動作查詢一

您想要做什麼?

執行選取或交叉資料表查詢

您可以使用選取查詢和交叉資料表查詢來取回和呈現資料,以及提供表單和報表的資料。 當您執行選取或交叉資料表查詢時, Access 中顯示 資料工作表檢視。

執行查詢

  1. 在功能窗格中尋找查詢。

  2. 執行下列其中一個動作:

    • 按兩下您想要執行的查詢。

    • 按一下要執行的查詢,然後按 ENTER。

如果您想要執行的查詢目前在 設計檢視中開啟,您也可以按一下功能區上 ,即功能區一部分 ,在結果群組中執行Microsoft Office Fluent 使用者介面。

頁面頂端

執行動作查詢

有四種類型的動作查詢:新增查詢、刪除查詢、更新查詢,以及製作表查詢。 除了建立新資料表 (生成表的) ,動作查詢會變更其所根據之資料表中的資料。 這些變更無法輕易復原,例如按 CTRL+Z。 如果您使用稍後決定不想進行的動作查詢進行變更,通常您必須從備份複本還原資料。 基於這個原因,執行動作查詢之前,您應該先確定已重新備份基礎資料。

您可以先預覽要執行的資料,以減少執行動作查詢的風險。 有兩種方法可以執行此操作:

  • 在執行動作查詢之前,先在資料工作表視圖中查看。 若要這麼做,請在 [設計檢視> 中開啟查詢,按一下 Access 狀態列上的 [視圖,然後按一下快捷方式功能表上的 [資料工作表視圖。 若要切換回 [設計檢視>,請再次按一下 [ 視圖>,然後按一下 快捷方式功能表上的 [設計檢視。

  • 將查詢變更為選取查詢,然後執行。

    附註: 請務必記下要開始執行的動作查詢 (附加、更新、製作資料表或刪除) ,這樣當您使用這個方法預覽資料之後,就可以將查詢變更回該類型。

    以選取查詢執行動作查詢

    1. 在設計檢視中開啟動作查詢。

    2. 在 [設計索引鍵的查詢類型群組中,按一下[選取

    3. 在 [設計] 索引標籤上的 [結果] 群組中,按一下 [執行]。

執行查詢

當您準備好執行動作查詢時,請在功能窗格中按兩下該查詢,或按一下該查詢,然後按 ENTER。

重要: 根據預設,Access 會停用資料庫中的所有動作查詢,除非您表示信任該資料庫。 您可以使用功能區下方的訊息欄來表示您信任資料庫。

[訊息列]

信任資料庫

  1. 在訊息列上,按一下 [選項]

    [Microsoft Office 安全性選項] 對話方塊即會顯示。

  2. 選取 [啟用此內容, 然後按一下 [確定

執行參數查詢

當您 參數查詢 值時,系統會提示您輸入值。 當您提供值時,參數查詢會以欄位準則來使用值。 在查詢設計中指定要適用準則的欄位。 如果系統提示時未提供值,參數查詢會解譯您的輸入為空白字串。

參數查詢一直是另一種類型的查詢。 大部分的參數查詢是選取查詢或交叉資料表查詢,但追加、製作資料表和更新查詢也可以做為參數查詢。

您可以根據參數查詢的其他查詢類型執行,但一般而言,請使用下列程式。

執行查詢

  1. 在功能窗格中尋找查詢。

  2. 執行下列其中一個動作:

    • 按兩下您想要執行的查詢。

    • 按一下要執行的查詢,然後按 ENTER。

  3. 出現參數提示時,請輸入要當做準則的值。

頁面頂端

執行 SQL 特定查詢

有三種主要的查詢類型 SQL 特定的查詢:聯集查詢、傳遞查詢和資料定義查詢。

聯集查詢會合並來自兩個或多個資料表的資料,但方式與其他查詢不同。 雖然大部分的查詢都是以連接列合併資料,聯集查詢則會附加列來合併資料。 聯集查詢與新增查詢不同,因為聯集查詢不會變更基礎資料表。 聯集查詢會附加在查詢關閉後不會保留的記錄集資料列。

Access 隨附的資料庫引擎不會處理傳遞查詢;而是直接傳遞至執行處理的遠端資料庫伺服器,然後將結果傳回 Access。

資料定義查詢是一種特殊類型的查詢,不會處理資料;資料定義查詢會建立、刪除或修改其他 資料庫物件。

SQL 特定查詢無法在設計檢視中開啟。 它們只能在 SQL 視圖中開啟或執行。 除了資料定義查詢,執行 SQL 特定查詢會在資料工作表視圖中開啟查詢。

執行查詢

  1. 在功能窗格中尋找查詢。

  2. 執行下列其中一個動作:

    • 按兩下您想要執行的查詢。

    • 按一下要執行的查詢,然後按 ENTER。

頁面頂端

疑難排解錯誤訊息

下表顯示您可能會遇到的一些常見錯誤訊息。 這些錯誤可能會顯示為儲存格或儲存格中的 (而不是預期的) 或錯誤訊息。 清單後各節包含可用於解決這些錯誤的程式。

附註: 此表格的內容並非詳盡無盡。 如果不包含您收到的錯誤訊息,您可以使用本文結尾的表單,在提供的批註方塊中納入錯誤訊息的特定資訊,以提交意見回饋。

錯誤訊息

問題

解決方案

運算式中的輸入不一

查詢可能正在連接資料類型不同的欄位。

檢查查詢設計,並確保聯聯欄位的資料類型相同。 有關指示,請參閱檢查查詢 中的聯聯欄位一節

記錄已刪除

如果物件或資料庫已損毀,就可能發生此情況。

壓縮及修復資料庫。 有關指示,請參閱壓縮 及修復資料庫一節

別名所造成的迴圈參照

指派給欄位的別名與該欄位運算式的元件相同。

別名是查詢設計格線之欄位資料列內任何運算式的名稱,並非實際欄位。 如果您不自己指派別名,Access 會指派別名;例如EXPR1。 別名後面緊接著冒號 (:) 後面接著運算式。 當您執行查詢時,別名會變成資料工作表中的欄名稱。

變更別名。 有關指示,請參閱變更欄位 別名一節

#Error

當計算欄位的值大於欄位 的 FieldSize 屬性設定所允許的值時,可能會發生此錯誤。 當計算欄位的分母等於或評估為零時,也會 (0) 。

請確保計算欄位的分母未評估為零 (0) 。 若適用,請變更 FieldSize 屬性。

#Deleted

已刪除所參考的記錄。

如果意外刪除記錄,則必須從備份還原。 如果刪除是刻意的,您可以按 SHIFT+F9 重新更新查詢,以關閉此錯誤訊息。

檢查查詢中的聯聯欄位

若要檢查查詢中欄位的資料類型,請在設計檢視查看來源資料表,並檢查要檢查之欄位的屬性。

  1. 在 [設計檢視] 中開啟查詢。 聯結會顯示為連接來源資料表中的欄位的線條。 請注意每個聯聯的表格和功能變數名稱。

  2. 在功能窗格中,以滑鼠右鍵按一下在查詢中加入一或多個欄位的每一個資料表,然後按一下 [ 設計檢視

    具有不同資料類型的連接欄位

    1. 具有不同資料類型的聯聯欄位。

    2. 以滑鼠右鍵按一下表格,然後按一下 [設計檢視。

  3. 針對每個連接,比較資料表設計格線線中資料類型欄中與聯聯中相關欄位的值。

    在資料表 [設計檢視] 中檢查連接欄位的資料類型

    1. 在資料表的設計檢視中檢查聯聯欄位的資料類型。

  4. 若要切換到資料表,以便查看其欄位,請按一下具有該表格名稱的索引鍵。

頁面頂端

壓縮及修復資料庫

在 Access 中執行壓縮及修復資料庫公用程式可以改善資料庫的績效。 此公用程式會複製資料庫檔案,如果檔案分散,會重新排列資料庫檔案在磁片上的儲存位置。 壓縮及修復程式完成之後,壓縮的資料庫就會回收浪費的空間,而且通常小於原始資料庫。 您可以經常壓縮資料庫,以確保資料庫應用程式的優化效果,也可以解決硬體問題、電源故障或增加,以及類似原因所導致的錯誤。

壓縮作業完成後,查詢速度會增強,因為基礎資料已重寫至連續頁面中的資料表。 掃描連續頁面的速度遠高於掃描分散的頁面。 查詢也會在每個資料庫壓縮之後優化。

在壓縮作業期間,您可以使用壓縮資料庫檔案的原始名稱,或者使用不同的名稱來建立個別的檔案。 如果您使用相同名稱且資料庫已成功壓縮,Access 會自動以壓縮版本取代原始檔案。

設定自動化此程式的選項

  1. 按一下 [檔案] > [選項] 以開啟 [Access 選項] 對話方塊。

  2. 按一下[目前資料庫,然後選取 [應用程式選項中關閉時壓縮的關閉時關閉的壓縮選項> 核取方塊。

    這會使 Access 在資料庫每次關閉時自動壓縮及修復資料庫。

手動壓縮及修復資料庫

  1. 按一下 [資料庫工具 > 壓縮及修復資料庫

頁面頂端

變更欄位別名

  1. 在 [設計檢視] 中開啟查詢。

  2. 在查詢設計格線中,尋找具有別名的欄位。 這些功能變數名稱的結尾有冒號,如名稱:。

  3. 檢查每個別名,確保別名與屬於別名運算式一部分的任何功能變數名稱不相符。 如果有,請變更別名。

頁面頂端

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×