線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1389
推到 Plurk!
推到 Facebook!

ClientDataSet-AggregateField使用方式

尚未結案
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-05-27 12:18:23 IP:210.61.xxx.xxx 未訂閱
各位前輩好:

小弟目前有個資料輸入作業其Master-Detail的關聯如下

Table_A //Master
└Table_A_1 //A's Detail
└Table_A_2 //A_1's Detail

A是Master Table
A_1 是A的Detail
A_2 是A_1的Detail

目前在A_2有個AggregateField: A_2_SUM
其功能是加總 A_2的數量欄位(Expresssion=SUM(XXX))
但現在有個條件是在SUM的時候
必須依A_1、A_2有相同品號的狀況下才SUM
(不相同則不需加進去)

舉例來說

A_1:
品號
00001

A_2:
品號 數量
00001 2
A0001 2
A0002 2

原本AggregateField SUM出來的會是6
但依新的需求
其AggregateField算出來的應該是2(因為只有0001相同)

請問這要如何處理呢?

我目前是以迴圈來重新實做(捨棄AggregateField)
但還是想要知道是否能以AggregateField來達到我要的效果?

請各位前輩指點迷津,謝謝。
編輯記錄
老大仔 重新編輯於 2013-05-27 12:19:04, 註解 無‧
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-05-28 10:10:13 IP:59.120.xxx.xxx 訂閱
或許可以使用  AggregateField 的 GetText 事件

類似底下的Code:
[code delphi]
if not (A_1, A_2.Value, []) then
begin
Text := '0';
//DisplayText := False;
end;
[/code]

以上
編輯記錄
GrandRURU 重新編輯於 2013-05-28 10:14:51, 註解 無‧
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-05-30 07:25:57 IP:210.61.xxx.xxx 未訂閱
請問前輩,GetText事件的實質功能是什麼的@@?
小弟有看沒有懂><

===================引 用 GrandRURU 文 章===================
或許可以使用 AggregateField 的 GetText 事件

類似底下的Code:
[code delphi]
if not (A_1, A_2.Value, []) then
begin
Text := '0';
//DisplayText := False;
end;
[/code]

以上
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2013-05-30 15:04:20 IP:59.120.xxx.xxx 訂閱
OnGetText事件比較接近報表功能中的「OnBeforePrint」事件

可以參考這個連結:ClientDataSet 在 onGetText 的問題~

===================引 用 老大仔 文 章===================
請問前輩,GetText事件的實質功能是什麼的@@?
小弟有看沒有懂><

===================引 用 GrandRURU 文 章===================
或許可以使用 AggregateField 的 GetText 事件

類似底下的Code:
[code delphi]
if not (A_1, A_2.Value, []) then
begin
Text := '0';
//DisplayText := False;
end;
[/code]

以上
系統時間:2017-10-17 17:38:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!