Microsoft Access: 如何使用 [組合方塊的 [欄] 屬性更新文字方塊

Office 2003 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Office 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:209738
中級使用者: 需要基本巨集、 編碼和交互操作性技巧。

本文適用於 Microsoft Access 的桌面資料庫 (.mdb 和.accdb) 與 Microsoft Access 專案 (.adp)。

結論
即使這些欄位來自的未繫結至表單或報表的資料表,您可以在下拉式方塊或清單方塊在表單的這個報表中,顯示多個欄位。您也可以更新的控制項,例如 [文字] 方塊中,以根據使用者從下拉式方塊或清單方塊選取新的資訊。
其他相關資訊
若要完成 < 摘要 > 一節所述的工作,使用這些技術之一:
  • 方法 1: 使用自動查閱表單中。
  • 方法 2: 使用多欄組合方塊的 [] 屬性以新資訊更新文字方塊控制項。
  • 方法 3: 使用多個表單和報表中的DLookup()函式。

方法 1: 使用自動查閱表單中

您可以設計多資料表查詢來自動填入指定的欄位值,新的資料錄,並作為列來源的查詢使用下拉式清單方塊。當您在查詢中,或在表單或查詢為基礎的報表中的聯結欄位中輸入值時,Microsoft Access 會查閱並填入和該值相關的現有資訊。比方說,如果您知道客戶資料表和訂單資料表 (通常是一個客戶識別碼如客戶編號) 之間的聯結欄位中的值,您無法輸入客戶識別碼並使 Access 輸入該客戶的資訊的其餘部分。如果不找到任何相符的資訊,則 Access 會顯示錯誤訊息,當焦點離開記錄時也一樣。使自動查閱查詢工作時,必須符合特定條件:

  • 查詢必須以一個以上的資料表為基礎,而這些資料表必須有一個一對多關聯性
  • 在"單方面"關聯性上的連接欄位必須有唯一的索引。
  • 您新增至設計格線中的聯結欄位必須來自資料表的一對多關聯性 「 多 」 的一邊。(換句話說,它是該資料表的外部索引鍵)。使自動查閱查詢工作時,這個欄位不能是主索引鍵,並無法傳送 [索引] 屬性為 [是 (不可重複)。例如,在包含客戶和訂單資料表查詢中,拖曳至設計格線客戶編號] 欄位從 [訂單] 資料表中,從 [客戶] 資料表的識別碼。
  • 您輸入聯結欄位中,從"多"邊的值必須已存在於 「 一 」 這邊的聯結欄位中。
當您更新的資料:

當新增或變更記錄中的關聯中 「 多 」 的這邊的聯結欄位的值時,存取會自動尋找並顯示在關聯 「 一 」 邊的資料表中相關聯的值。

您可以永遠來更新聯結欄位從 「 多 」 這邊的關聯性,但只有當定義資料表之間的關係時,啟動串接更新,您可以更新 「 一 」 這邊的聯結欄位。不管怎麼說,當您更新資料時,Access 會自動重新計算任何總數或更新的資料而定的查詢中的運算式。

方法 2: 使用 [欄] 屬性的下拉式方塊

藉由指派多欄下拉式方塊或清單方塊的 [] 屬性的文字方塊中,您可以在文字方塊中顯示目前的下拉式方塊選取項目從一個資料行。從下拉式方塊進行選取時,Microsoft Access 自動更新 [文字] 方塊。若要執行這項操作,請依照下列步驟執行:
  1. 開啟 [範例北風範本資料庫]。
  2. 建立表單或報表以適當的資料表或查詢為基礎。
  3. 新增下拉式方塊或清單方塊,從多個 「 乙 」 欄位擷取資訊。

    比方說,您可能會為下拉式方塊或清單方塊的 [資料來源] 屬性使用下列多欄Select陳述式,在 [類別] 資料表中顯示從幾個資料行的資訊:
    選取 [員工]。[識別碼]、 [員工]。[姓氏],[員工]。[職稱]員工順序從 [員工]。[姓氏]
    這個範例中,欄數] 屬性設定為 3,,將欄寬] 屬性設定為組合方塊或清單方塊中選擇適當的大小。下拉式方塊或清單方塊大小適當傳回多個欄位的 anddefined 之後,您可以使用文字方塊控制項中顯示目前的選取範圍的資料行] 屬性。在清單方塊中選擇一個項目時,也將在第一次;否則,它會傳回Null

    [] 屬性會使用參考引數,來參照多欄下拉式方塊或清單方塊中的特定資料行。您可以使用欄位 (0) 來參照第一欄,也就是 Column(1),以參照到第二欄中,以此類推。

    本範例會使用 Column(1) 來參照[姓氏]下拉式方塊中的第二個資料行。
  4. 若要顯示目前的組合方塊選取範圍的[姓氏]欄,請建立文字方塊控制項。請將文字方塊設計算的控制項定義下列的運算式為文字方塊的控制項資料來源
    =[cboControlName].Column(1)
    位置 cboControlName 是在組合方塊的名稱。[] 屬性會使 [文字] 方塊 (也就是計算控制項) 成為唯讀。

方法 3: 在控制項中使用 DLookup

在北風範例資料庫中,建立未結合的表單,然後再新增 [下拉式方塊,分別命名為cboEmployeeLookup和稱為txtJobTitleLookup的文字方塊。
   In Northwind.mdb in Access 2003 or earlier:   Object: Combo Box   -------------------------------            Name: cboEmployeeLookup   RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)       RowSource: Employees     ColumnCount: 2    ColumnWidths: 1     BoundColumn: 1    DefaultValue: 1   Object: Text Box   -------------------------------            Name: txtLastNameLookup   ControlSource: =DLookup("[LastName]","Employees","[EmployeeID]="                          & [cboEmployeeLookup])   			   In the Northwind Template database in Access 2007 or Access 2010:    Object: Combo Box    -------------------------------             Name: cboEmployeeLookup    RowSourceType: Table/Query ("Table/View/StoredProc" in Access project)        RowSource: Employees      ColumnCount: 3     ColumnWidths: 0";0";1"      BoundColumn: 1     DefaultValue: 1     Object: Text Box     -------------------------------              Name: txtJobTitleLookup     ControlSource: =DLookup("[Job Title]","Employees","[ID]=" & [cboEmployeeLookup])     
請注意,當您選取 [ cboEmployeeLookup ] 下拉式方塊與員工值時,[ txtJobTitleLookup ] 文字方塊中會填入。

参考

警告:本文為自動翻譯

內容

文章識別碼:209738 - 最後檢閱時間:10/01/2015 15:02:00 - 修訂: 2.0

Microsoft Access 2000 Standard Edition, Microsoft Access 2002 Standard Edition, Microsoft Office Access 2003, Microsoft Office Access 2007, Microsoft Access 2010, Microsoft Access 2013, Access 2016

  • kbhowto kbinfo kbusage kbmt KB209738 KbMtzh
意見反應