首先,介紹一下我的設置。計算的控件不會自動重新計算
我有三個表的原始數據庫:
A.表,列出了不同的位置:location_code],[LOCATION_NAME]
B.表描述項目:[ITEM_CODE] ,[ITEM_NAME],[ITEM_PRICE]
,最後是關係在Roo表^ H^H^H ^整個數據庫一起
C.表格說明哪些項目存儲在每個位置以及數量:[location_code],[item_code],[item_quantity]。該表可以具有多個具有相同[位置代碼]的條目,因爲不同的條目可以存儲在相同的位置。基本上,這是一個從地點到項目的一對多關係的教科書實現,每個位置項目鏈接都附加了一個額外的屬性(數量)。
現在,我需要做的就是創建一個表格,列出存儲在特定位置的所有項目。這是Access中「子窗體」功能的基本用例。主表單簡單地瀏覽不同的位置,而子表單列出項目。
我用
SELECT C.location_code, B.item_name, B.item_code, B.item_price, C.item_quantity
FROM B INNER JOIN C ON B.item_code=C.item_code
爲子窗體記錄源。主窗體通過[location_code]鏈接到子窗體。該子表單用列表佈局(不是表格佈局)來設置,即每個數據庫字段都被賦予其自己的控制元素。
到目前爲止一切正常。我在主窗體中選擇位置,並且該子窗體爲我提供了當前位置的可編輯[item_name] - [item_price] - [item_quantity]三元組列表。
作爲下一步,我想爲每個上述三元組添加一個計算控件。我想知道每種產品的總價格(即,每行中的[item_price] * [item_quantity]
)。很容易,我將計算控制添加到子表單的「可重複」區域,並指定
= [item_price] * [item_quantity]
作爲值的公式。再次,一切都完美。現在,除了上述三元組外,我的列表每行有四個條目:[item_name] - [item_price] - [item_quantity] - [total_item_price]。而且,當我編輯[item_price]或[item_quantity]時,重要的是,完成編輯後[total_item_price]會自動重新評估。
作爲最後一步,我想添加另一個計算控件,顯示當前位置存儲的所有項目的總價格(我們稱之爲「總計」)。 A也發生控制到窗體(進入「註腳」區域這段時間),並指定以下公式作爲其價值
= SUM([item_price] * [item_quantity])
現在,這個工程。每次在主窗體中更改位置時,總計值都會正確計算。此外,當我更改當前位置的任何商品的[item_price]時,總計也會自動更新。但是,當我更改[item_quantity]時,總計不會更新(???)。擊中F9將使其更新。來回更改當前位置會更新它。但不幸的是,對[item_quantity]的簡單更改不會觸發自動更新。
有誰知道,這裏有什麼可能是錯的?爲什麼[item_price]中的更改會觸發總計的自動更新,而[item_quantity]中的更改不會?直觀上,這些領域似乎具有相同的地位(除了前者來自表B,而後者來自表C)。爲什麼行爲不同?我如何使其自動更新?
你需要做的的計算上的子窗體所有三個活動:1.更新 2.後插入 3.在刪除之後確認,但有一個bug,如果你複製和粘貼多個記錄進入子窗體。我仍在尋找解決方案。問候理查德 –