全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1248
推到 Plurk!
推到 Facebook!

Sum 正負值問題?

答題得分者是:pillar62
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-21 18:11:51 IP:61.219.xxx.xxx 未訂閱
我想對QRExpr的Expression做sum(qryTemp.Amt) 但是因為此欄位的值有正有負 請問我該如何下才能個別統計?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-22 08:30:46 IP:210.65.xxx.xxx 未訂閱
Hi TTS,    Set your expression as below :    Positive : SUM(IF(DetailQry.Qty >= 0,DetailQry.Qty,0))    Negative: SUM(IF(DetailQry.Qty < 0,DetailQry.Qty,0))     ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-22 13:34:39 IP:61.30.xxx.xxx 未訂閱
感謝Fishman大大的指導 小弟try過 成功了 另外想請問 那如何用QRExpr的Expression在這Group裡抓最後一筆資料的某欄位的值?
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-22 13:43:09 IP:210.64.xxx.xxx 未訂閱
你好 最後一筆資料的某個欄位應該不必用QRExpr,只要放一個qrdbtex然後指定那個欄位,將它放到groupfoot裡面就可以了吧!!試試看吧!! Pillar Wang
------
Pillar Wang
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-22 16:07:22 IP:61.30.xxx.xxx 未訂閱
首先感謝pillar62大大的指點 小弟try出來了 ....thanks 另外再請教Fishman大大 小弟發現一個問題 在GroupFooter上QRExpr如果照大大指導的 可以成功 但是有一個小問題 那就是如果Group裡第一筆是正的 那正的那個QRExpr會有值 但是負的就會顯示0 ; 相反的如果第一筆是負的 那正的QRExpr就會是0 請問該如何解決呢?
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-22 16:36:13 IP:210.64.xxx.xxx 未訂閱
你好 提供另外一個方法試試看, 新增兩個計算欄位例如c1,c2然後在DetailQry的oncaculate事件中寫
IF(DetailQry.Qty >= 0 then
begin
  c1 := DetailQry.Qty;
  c2 := 0;
end
else
begin
  c1 := 0;
  c2 := DetailQry.Qty;
end;
然後對那兩個計算欄位去做qrexpr的處理,這是另外一種方法,尤其是在條件很多的時候,就可以在計算欄位中作處理,會比較方便一點!!試試看吧!! Pillar Wang
------
Pillar Wang
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-23 11:51:54 IP:61.30.xxx.xxx 未訂閱
請教Fishman大大一個問題 SUM(IF(DetailQry.Qty >= 0,DetailQry.Qty,0)) 紅色字這個參數是啥用意呢???
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-23 12:46:34 IP:210.65.xxx.xxx 未訂閱
Hi TTS,    Sorry !! 我試了一下,並不會有如你所說的狀況發生,你再 check 一下你的程式
IF(DetailQry.Qty >= 0,DetailQry.Qty,0) :    if DetailQry.Qty >= 0 then
  Return DetailQry.Qty
else
  Return 0
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-23 15:50:02 IP:61.30.xxx.xxx 未訂閱
Fishman大大 我並沒有將Expression寫在程式裡 而是直接Key在元件上 依照大大您的指導 我目前的狀況感覺應該是不管我IF內是何種條件(大於0 或小於0) 永遠抓到都是以第一筆該欄位的值做判斷的 所以當跟判斷第一筆值是相反時 就會永遠Return 0 怎會這樣呢?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-03-24 09:00:47 IP:210.65.xxx.xxx 未訂閱
Hi TTS,    Please find sample codes in below URL :    http://delphi.ktop.com.tw/loadfile.php?TOPICID=21159752&CC=473228 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-03-28 09:14:30 IP:61.30.xxx.xxx 未訂閱
依照Fishman大大的Code 情形還是一樣 依舊以第一筆資料為準來顯示!?
TTS
初階會員


發表:72
回覆:66
積分:27
註冊:2003-05-06

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-03-28 09:44:21 IP:61.30.xxx.xxx 未訂閱
如以上的圖: 當9000805這個Group紅色圈圈內的第一筆為正時 以下之藍色圈圈內的消費小計就為0 而儲值小計就會有正確我要的值! 這是蝦米情形?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-03-29 08:15:03 IP:210.65.xxx.xxx 未訂閱
Hi TTS,    如果還是相同情形,建議你直接採用 pillar62 大大的 Solution !!     ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-05-15 13:04:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!