實現主從關係Form中彙總行金額 數量

2021-10-07 03:07:56 字數 2530 閱讀 4012

下面以實際的例子來描述如何實現彙總計算,效果圖如下:

背景說明:

頭塊中的total欄位(headers.amount_total)彙總行上面amount(lines.amount)

行中的amount是unit price(lines.unit_price)和quantity(lines.quantity)的乘積

unit price和quantity的任何更改會導致amount發生改變,最終影響total值

實現步驟:

1,建立合計顯示字段,即headers.amount_total,設定其子類屬性為:text_item_display_only

2,在合計顯示的資料塊中,建立合計專案的彙總臨時專案,命名規則為:《合計專案名稱》_rtot_db,number(38)/display_item,即amount_rtot_db/number(38)/display_item

3,在明細塊中建立兩個統計使用的item,乙個《被統計項》_rtot_old,另乙個《被統計項》_rtot_db,型別 char(61) display_item,即amount_rtot_old/char(61)/display_item 和 amount_rtot_db/char(61)/display_item

? [copy to clipboard]

view code plsql

123

4

procedure running_total (event varchar2) is

begin ?

[copy to clipboard]

view code plsql 1

2345

6789

1011

1213

1415

procedure unit_price (event varchar2) is

begin

if event = 'when-validate-item' then

lines.amount('init');

lines.running_total('when-validate-item');

endif;

end unit_price;

procedure quantity (event varchar2) is

begin

if event = 'when-validate-item' then

lines.amount('init');

lines.running_total('when-validate-item');

endif;

end quantity;

6,建立amount的handler**

? [copy to clipboard]

view code plsql

123456

procedure amount (event varchar2) is

begin

if event = 'init' then

copy(name_in('lines.unit_price') * name_in('lines.quantity'),'lines.amount');

endif;

end amount;

7,在彙總顯示專案所在塊中的post-query觸發器中從資料庫中計算出明細的初始彙總值

?[copy to clipboard]

view code plsql

123

4567

procedure post_query is

begin

select

nvl(sum(unit_price*quantity),0)

into :headers.amount_total

from xhu_order_lines

where header_id = :headers.header_id ;

end post_query;

8,在明細塊的以下觸發器中新增相應的**

?[copy to clipboard]

view code plsql

123

4567

891011

1213

1415

1617

**

我自己的做法:

行塊增加乙個total項,項的計算模式設定為「概要」,彙總函式選擇「和」

假如是統計行數-計數

行塊屬性:預計算彙總設定為「是」。

頭塊的total項copy行塊total值。

行塊block屬性查詢所有記錄:是

實現主從關係Form中彙總行金額 數量

背景說明 頭塊中的total欄位 headers.amount total 彙總行上面amount lines.amount 行中的amount是unit price lines.unit price 和quantity lines.quantity 的乘積 unit price和quantity的...

kbmMW 實現主從關係表的方法

環境 delphi xe10.2.2 kbmmw5.02 unidac7.02 fb3.0 在日常應用中,我們經常會用到主 從 master detail 關係表,如客戶與訂單 角色與許可權等。在 kbmmw 中實現mater detail 關係表的方法有兩種,各有優缺點。下面是我實現這兩個方法的過...

Jedis如何確認主從關係

在不配置哨兵的情況下,jedis無需確認主從關係。redis的主從複製讀寫分離那都是內部處理的,對外的使用做到呼叫方無感知。所以無論是用命令列去操作redis,還是利用jedis操作redis,都不需要呼叫方去判斷當前連線是主是從。哪怕我在從伺服器進行set操作,redis也會自動跳轉到主伺服器操作...