如何做到累計加總(累計扣除)的功能? |
答題得分者是:Fishman
|
fennyfan2004
一般會員 發表:5 回覆:2 積分:1 註冊:2004-01-20 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi: 先以一個料號來說明,若有多個料號,只需注意何時須 Reset ONHAND_QTY 與 ACC_QTY 值即可
1.先定義兩個全域變數 ONHAND_QTY(庫存值),ACC_QTY(累加值)
2.DataSet 中定義兩個 Calculated Field,Acc_Qty(累加數量) 與 Balance_Qty(結餘數量)
3.DataSet 的 OnCalcFields 去累加 Acc_qty 並計算 Balance_Qty --------------------------------
小弟才疏學淺,若有謬誤請不吝指教
--------------------------------
------
Fishman |
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
fennyfan2004您好
Fishman兄已講出概念, 小弟手癢, 就實際做出來給您參考.
var fGrand:Double; fFirstBalance:Double; procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet); var balance:double; begin // 累計未發 fGrand:=fGrand+ADOTable1NotDealOut.AsVariant; ADOTable1cGrand.Value:=fGrand; // 結存量 if ADOTable1.RecNo=0 then begin fFirstBalance:=ADOTable1Stocks.Value+ADOTable1Check.Value+ ADOTable1Make.Value+ADOTable1Request.Value+ADOTable1Order.Value- ADOTable1NotDealOut.Value; ADOTable1cBalance.Value:=fFirstBalance; end else begin balance:=fFirstBalance-ADOTable1NotDealOUt.Value; ADOTable1cBalance.Value:=balance; end; end; |
fennyfan2004
一般會員 發表:5 回覆:2 積分:1 註冊:2004-01-20 發送簡訊給我 |
|
fennyfan2004
一般會員 發表:5 回覆:2 積分:1 註冊:2004-01-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |