HOW TO:在 Access 中將選取查詢轉換成動作查詢

文章翻譯 文章翻譯
文章編號: 304354 - 檢視此文章適用的產品。
本文曾發行於 CHT304354
全部展開 | 全部摺疊

結論

動作查詢是當您想要執行例如插入、更新或刪除記錄這樣的工作時所用的查詢。您可以經由變更查詢類型將現有的選取查詢轉換成動作查詢。本文將告訴您幾種不同類型的動作查詢以及如何將選取查詢變更成動作查詢。

動作查詢是只需在一個操作中就能變更或移動許多記錄的查詢。動作查詢的類型有四種:刪除、更新、新增以及產生資料表。

刪除查詢

刪除查詢可以從一或多個資料表中刪除一群記錄。例如,您可以使用刪除查詢來移除不再生產的產品或是沒有訂單的產品。

您可以使用刪除查詢來刪除單一資料表中的記錄、以一對一的關聯來刪除多個資料表中的記錄,或者如果有啟用串接刪除,就可以用一對多的關聯來刪除多個資料表中的記錄。例如,您可以使用刪除查詢來刪除愛爾蘭的所有客戶以及其所有訂單。然而,如果您為了新增準則需要包含屬於「多」那一面的資料表,而不只是包含屬於「一」那一面的資料表,您就必須分兩次來執行查詢,因為一個查詢無法同時刪除主要資料表以及關聯資料表的記錄。

如需關聯及設計資料庫的其他資訊,請按一下下列文件編號,檢視 Microsoft Knowledge Base 中的文件:
289533 ACC2002:Where to Find Information About Designing a Database in Access
使用刪除查詢時的重要注意因素
  • 一旦您使用刪除查詢刪除了記錄之後,就無法復原此項操作。因此,您應該預覽查詢選取來刪除的資料,才能執行此查詢。您可以按一下 [檢視] 功能表上的 [資料工作表] 以預覽資料。
  • 您應該隨時維護資料的備份副本。如果您誤刪了記錄,就可以從備份取得這些被誤刪的記錄。
  • 在有些情況下,即使您沒有在查詢中包含關聯資料表,執行刪除查詢時還是可能會刪除這些關聯資料表中的記錄。如果查詢只含有一對多關聯中屬於「一」那一面的資料表,而您又啟用了該關聯的串接刪除功能,就可能發生這種情況。當您刪除屬於「一」那一面資料表的記錄時,也會同時刪除屬於「多」那一面資料表的記錄。

    例如,假設「客戶」與「訂單」資料表之間的關聯有啟用串接刪除。那麼刪除「客戶」資料表中的記錄也會同時刪除「訂單」資料表中關聯的訂單。
  • 當刪除查詢包含多個資料表時 (例如從其中一個資料表中刪除重複記錄的查詢),查詢 UniqueRecords 屬性必須設為 [Yes]
如需建立刪除查詢的詳細資訊,請檢視下列 Microsoft 網站的 Microsoft Access 2002 文件:
Create a delete query

更新查詢

更新查詢可以在一或多個資料表中全面變更一群記錄。例如,您可以將所有日常用品的價格提高百分之 10,或是將某特定工作類別的人的薪水提高百分之 5。使用更新查詢時,您可以變更現有資料表中的資料。

如需建立更新查詢的詳細資訊,請檢視下列 Microsoft 網站的 Microsoft Access 2002 文件:
Create an update query

新增查詢

新增查詢可以將一或多個資料表的一組記錄新增到一或多個資料表的尾端。例如,假設您獲得一些新的客戶,而某個資料庫含有這些客戶資訊的資料表。如果不想輸入所有這些資訊,您可以將這些資訊新增到「客戶」資料表。新增查詢也有助於:
  • 根據準則新增欄位。例如,您可能只想新增尚有未清帳款訂單的客戶名稱及地址。
  • 某個資料表中的一些欄位不存在於其他資料表的情況下新增記錄。例如,在北風範本資料庫中,「客戶」資料表有 11 個欄位。假設另一個資料表的欄位符合「客戶」資料表 11 個欄位中的 9 個欄位,而您想要新增該資料表的記錄,新增查詢將新增相符欄位中的資料,而略過其他欄位。
如需建立新增查詢的詳細資訊,請檢視下列 Microsoft 網站的 Microsoft Access 2002 文件:
Create an append query

產生資料表查詢

產生資料表查詢可以使用一或多個資料表中的所有或部份資料建立新的資料表。產生資料表查詢有助於:
  • 建立資料表以匯出至其他 Microsoft Access 資料庫。例如,您想要建立一個含有「員工」資料表中數個欄位的資料表,然後將該資料表匯出至人事部門所使用的資料庫中。
  • 使用巨集或程式碼自動複製資料表的備份。
  • 建立包含舊記錄的歷程資料表。例如,您可以在刪除目前「訂單」資料表中的舊訂單之前,建立一個儲存所有舊訂單的資料表。
如需建立產生資料表查詢的詳細資訊,請檢視下列 Microsoft 網站的 Microsoft Access 2002 文件:
Create a table from another table with a query

將選取查詢轉換成動作查詢

  1. 啟動 Microsoft Access 2002。
  2. [說明] 功能表上,按一下 [範例資料庫],然後按一下 [北風樣本資料庫]
  3. [檢視] 功能表上,按一下 [資料庫物件],然後再按一下 [查詢]
  4. 按一下 [發票] 查詢,再按一下 [設計]
  5. [查詢] 功能表上,按一下 [更新查詢] ,將此選取查詢變更為更新查詢。
  6. 在查詢設計格線中的 [訂單明細] 資料表的 [單價] 欄位中,將下列運算式輸入至 [更新至] 列。此運算式會將已開出的訂單單價提高百分之 10。
    [Order Details].[UnitPrice] * 1.10
  7. [送貨國家/地區] 欄位的 [準則] 列中,輸入 USA
  8. [查詢] 功能表上,按一下 [執行] ,將運送至美國的訂單單價更新為增加百分之 10。
  9. 關閉「發票」查詢,不需儲存。

變更查詢類型時查詢設計格線的改變

將查詢類型從選取查詢變更為動作查詢之後,查詢設計格線也會隨之變更。
  • 更新查詢
    格線畫面底部會新增一列,標題為「更新至」。請在這一列中輸入運算式,以便依據此運算式更新一組記錄。
  • 新增查詢
    您會收到提示,要求您輸入要新增記錄的目的資料表名稱,並且您應該會看見標題為「新增至」的一列。這是您要新增記錄的目的資料表中的欄位名稱。Microsoft Access 會自動填上這兩個資料表之間相符的欄位名稱。
  • 刪除查詢
    查詢設計格線的底部會新增一列,標題為「刪除」。如果要依據準則刪除一組記錄,請將 [刪除] 這一列的內容改成 [位置] ,然後在 [準則] 這一列中輸入查詢用來當成準則的運算式。
  • 產生資料表查詢
    您會收到提示,要求您輸入要建立的新資料表的名稱。您也可以在不同的資料庫中建立此資料表。此資料表會以現有資料表的欄位名稱和資料類型而建立。



?考

如需在刪除查詢中設定 UniqueRecords 屬性的詳細資訊,請按一下下面的文件編號,檢視 Microsoft Knowledge Base 中的文件:
240098 "Could Not Delete from Specified Tables" Error in Query

如需建立動作查詢的更多資訊,請按一下 [說明] 功能表上的 [Microsoft Access 說明] ,在「Office 小幫手」或「解答精靈」中輸入 create an action query ,然後按一下 [搜尋] ,檢視所傳回的主題。
如需建立選取查詢的其他資訊,請按一下下列文件編號,檢視 Microsoft Knowledge Base 中的文件:
304325 HOW TO:Create a Select Query in Microsoft Access 2002
如需建立參數查詢的其他資訊,請按一下下列文件編號,檢視 Microsoft Knowledge Base 中的文件:
304352 HOW TO:Create a Parameter Query in Microsoft Access 2002
如需建立交叉資料表查詢的其他資訊,請按一下下列文件編號,檢視 Microsoft Knowledge Base 中的文件:
304349 HOW TO:Create a Crosstab Query in Microsoft Access 2002











屬性

文章編號: 304354 - 上次校閱: 2004年8月13日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft Access 2002 Standard Edition
關鍵字:?
kbhowto kbhowtomaster kbdownload KB304354
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com