2017-10-12 82 views
0

我想自動添加和更新記錄以計算燈泡的總數。這是針對將出售給客戶的商品的銷售訂單。銷售助理將輸入燈具的部件號,安裝人員的信息以及所需物品的數量。所有其他信息將從另一個表格中提取,因爲它不相關,所以我將價格等因素排除在外。MS Access基於同一表中其他記錄的數據插入記錄

我希望訂單窗體自動爲需要訂單的燈泡數量添加另一個行項目。

實例數據,通過聯想進入:

ID | PartNumber | Info | Qty | BulbQty | BulbInfo 
1 | 563  | Hall | 3 | 2 | A19 

由於是被添加到表,我想自動添加一個新的記錄,用空白部分號碼,[信息] = [BulbInfo],[數量] = [燈泡數量] * [數量]。

實例數據,再加上自動線項目計算燈泡交付:

ID | PartNumber | Info | Qty | BulbQty | BulbInfo 
1 | 563  | Hall | 3 | 2 | A19 
2 |   | A19 | 6 |   | 

現在,如果新的訂單項與A19燈泡加被,我要添加到我的球記錄的數量(基於信息= BulbType)而不是添加全新的記錄。當然,如果記錄被更改或刪除,現在我需要從相關的燈泡記錄中扣除。我有很多不同的燈泡類型,所以我需要根據[BulbQty]的值爲新的傳入記錄進行動態調整。

+2

爲什麼要在表中存儲總和而不是僅使用查詢? – MoondogsMaDawg

+1

展開@ChristopherD。評論 - 你不應該存儲「現有」數量,你應該總是計算它。關於此主題的更多信息,請訪問http://allenbrowne.com/AppInventory.html – Minty

+0

此銷售訂單將用於更新庫存表數量以及創建採購訂單。燈泡是他們自己的獨立行項目,因爲它們是一個庫存物品以及被買賣。 –

回答

0

我做了一個私人小組,每當數量得到更新時都會調用,傳遞[BulbType]和我的銷售訂單編號,這樣我只更改當前的銷售訂單。

首先,如果[BulbType]是「」,退出子。然後我使用DCount在[Info]中查找[BulbType]的現有實例。如果有多個實例(在我的情況下不應該存在,但爲了以防萬一),提示將它們全部刪除。接下來,如果有零個實例,請添加一個[Info] = [BulbType]。然後,如果只有一個實例(現在應該有),則創建[BulbType]的所有實例的記錄集。現在只需遍歷該記錄集並繼續添加到totalQty變量來獲取總數。因爲我知道只有一個實例[Info] = [BulbType],所以使用DLookup將該總數添加到我的銷售訂單中的[Qty]字段。

相關問題