2014-09-22 54 views
0

我有一個數據庫,我使用表單作爲前端將數據輸入到表中。我有一個字段Manager Name,它是一個從喜歡的桌子上拉出來的組合框。這是我的問題,我有另一個字段Manager ID,我試圖從Manager NameManager Name更新後選擇的值基於鏈接表自動填充。我試着用下面的代碼,但我沒有得到任何回報:Access 2010組合框 - 無法在更新後DLookup結果

[Manager ID] = DLookup("[ID]", "tbl_PSRpt_import", "[Name]= forms![tbl_ManagerChange]![Manager Name]")

tbl_PSRpt_import是鏈接表。

還有其他領域使用相同的設置(更新一個字段Dlookup後將值放入另一個字段),但出於某種原因,這不。它是否是一個鏈接表的事實?或者是其他東西?

+0

表格沒有關係鏈接。再次開始組合框。讓Access嚮導爲你構建它。將經理ID存儲在字段中,而不是經理。這是處理這個問題的常用方法。 – Smandoli 2014-09-22 22:06:59

+0

組合框是來自'Manager ID'的單獨字段,將被鎖定以供用戶輸入。我需要存儲這兩條信息,因爲它們被提供給Excel電子表格以提交請求。我想根據用戶通過組合框在「經理姓名」中輸入的內容查找「經理ID」。 – 2014-09-23 12:47:39

回答

1

我們來命名控件cboManagerSelect。這是一個未綁定的控件,因此Control屬性中沒有任何內容。

組合框的數據將爲ID, Name - 兩列。

在該控件屬性的格式選項卡下,可以將列寬指定爲0",1.2"。這具有隱藏第一列的效果。

您的VBA不會使用數據查找。這已通過此配置完成。只需使用AfterUpdate()事件對於控制:

MyForm!ManagerID = MyForm!cboManagerSelect.Column(0) 

Column(1)會給你的名字,但你想要的ID,所以你拿第一列(0)


如果你想留在DLookup(),然後檢查這,看看它是否幫助:https://stackoverflow.com/a/15366878/122139

+0

非常感謝,.column(0)方法奏效。 – 2014-09-23 13:38:23