2011-07-25 10 views
1

我有在Microsoft Access 2個表含有列如何在這樣的形式,MS插入自定義(運行時間)值訪問

產品和產品價格

2)STOCK

1)銷售含有列

產品,價格和數量

我已經建立一個形式對錶SALES

我希望當我在產品欄中輸入產品名稱時,它會根據我輸入的產品自動從STOCKS表中獲取價格。

我可能像10產品名稱進入和增加每個的價格獲得總銷售價值(我想提出一個點銷售系統)

這可怎麼實現

感謝

+0

OnChange如何上傳一個小的數據庫中,我們可以看到你做了什麼?那麼我們知道您創建的表格「反對」表格銷售? – Friedrich

+0

現在只想澄清一件事:爲什麼SALES表格包含Price列?這是否意味着產品銷售的價格可能與STOCK表中記錄的產品價格不同? – Yarik

回答

0

假設productFieldpriceField在你的表單字段,則必須將此代碼添加到on exit事件的productField

If Not prodChanged Then exit sub ' if the user hasn't edited the product 
Dim recSet As Recordset 
Set recSet = CurrentDb.OpenRecordset("Select stock.price from stock where stock.product =" & Me.productField.Value) 
If Not recSet.EOF Then 'If the product exists 
    Me.priceField = recSet.Fields(0) 
Else 
    'do default action 
End If 
podChanged=false 'reset the product editted state 

您必須聲明全局布爾變量prodChanged初始化爲false,並將其設置在trueproductField

+0

我不會使用退出事件,這意味着儘管表單會更新銷售額,但可能會違反用戶的要求。另外,這個問題並不是指表格,而是表格,除非銷售的產品可以有不同的價格,根據評論,整個事情是違反規範化的規則。我也會問一個表單在哪裏獲取產品數據?一個組合似乎是最好的選擇,如果這是明智的基礎上的庫存,價格可以是組合中的一個隱藏的列,... – Fionnuala

+0

...這意味着價格可以很容易地寫入到一個文本框引用該列。除非我誤解,否則您的答案似乎可以互換使用控制和字段。 – Fionnuala

+0

這個問題並不十分清楚,但他想從股票表中獲得價格價值。我編輯了代碼來做到這一點 –