2011-06-09 101 views
0

我有其中有3條信息的Microsoft Access問題

COMBO BOX 210組合框:材料ID,產品,成本,說明

的名稱後,我更新組合框的成本數字存儲在表中的另一個領域,迄今爲止這麼好,所以在選擇「蘋果」時,成本爲「1美元」的商店。

現在,我想要的是有一個不同的字段,其中存儲的蘋果(文本)的描述,但我只更新組合框一次,換句話說更新組合框後字段1存儲的價格和字段2描述了蘋果。

回答

2

我會爲您提供一個不同的例子,我希望它與您所要求的類似。

我的表單包含一個名爲cboNames的組合。這是其行來源查詢:

SELECT f.id, f.fname, f.date_added 
FROM food_test AS f 
ORDER BY f.fname, f.date_added; 

在組合的更新事件後,我可以參照列索引訪問選定的組合行中的3列的值。注意列索引編號從零開始。

Private Sub cboNames_AfterUpdate() 
    Debug.Print Me.cboNames.Column(0) 
    Debug.Print Me.cboNames.Column(1) 
    Debug.Print Me.cboNames.Column(2) 
End Sub 

所以如果我想把date_added值放到另一個數據控件中,我可以將它添加到組合的After After事件中。

Me.SomeOtherControl = Me.cboNames.Colummn(2) 

但是我不會實際存儲兩個編號,而在另一個表中的行DATE_ADDED。在我的食物表中,每個ID都與fname和date_added的唯一組合關聯。所以我只會存儲id,並且在食物表中使用一個帶有JOIN的SELECT來在需要時查找相關的fname和date_added值。

+0

但是在這種情況下,如果產品描述可能會改變(因爲價格可能),您可能想要存儲它,因爲在這種情況下,它不是真正的派生數據。 – 2011-06-12 22:23:52