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

依年度+月份+部門 累計金額

答題得分者是:Fishman
sky11167
一般會員


發表:3
回覆:9
積分:1
註冊:2006-07-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-24 15:05:50 IP:61.219.xxx.xxx 訂閱

請問各位前輩加總問題:
後學有1個資料表如下,設目前只有累計是空白[即尚未填值]

年度 月 部門 金額 累計 [附註: 累計這個欄位,希望填入的值如下]
2006 01 A 10 空白 10
2006 01 B 20 空白 20

2006 02 A 70 空白 80[上月累計 本月金額=10 70=80, 彙總的條件是:依年度 月 部門]
2006 02 B 5 空白 25[上月累計 本月金額=20 5 =25]

2006 03 A 30 空白 110[上月累計 本月金額=80 30=110]
2006 03 B 15 空白 40[上月累計 本月金額=25 15 =40]
.....其他月份以此類推
請教各位前輩是如何在delphi加總,然後寫入資料庫! 懇求並且感恩各位前輩幫忙!謝謝您

Fishman
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-24 15:43:44 IP:210.65.xxx.xxx 未訂閱
UPDATE YOUR_TABLE T
SET AGGREGATE_FIELD = (SELECT NVL(SUM(AMOUNT), 0)
FROM YOUR_TABLE TT
WHERE TT.YEAR = T.YEAR
AND TT.MONTH <= T.MONTH
AND TT.DEPT = T.DEPT)
------
Fishman
sky11167
一般會員


發表:3
回覆:9
積分:1
註冊:2006-07-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-07-24 17:04:29 IP:61.219.xxx.xxx 訂閱

Fishman前輩您好:

後學寫了下面程式,可是sql無法執行, 把 '' 摘掉時delphi會出現錯誤.
真的想破頭了,不知道該怎麼改,懇請前輩再幫幫後學的忙!!!
delphi程式如下
with UpdateQuery.SQL do
begin
clear;
Add('update GL10351');
Add('set GL10300_ACU=' '(select(SUM(GL10300_BAMT)) FROM GL10351' ' ' );
Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON<=''' MON ''' ');
Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' ) ');
Add('FROM GL10351 ');
Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON =''' MON ''' ');
Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' ');
UpdateQuery.SQL.SaveToFile('c:\1.txt');
end;

執行程式後產生之SQL語法:1.txt如下
update GL10351
set GL10300_ACU= ' (select(SUM(GL10300_BAMT)) FROM GL10351' //多了2點''造成更新失敗
where GL10350_YEAR='2005' and GL10351_MON<='01' //不管在Delphi怎麼改都失敗,懇求前輩幫忙
and GL10100_CODE='610101' and GL10350_DEPT='8787' )
FROM GL10351
where GL10350_YEAR='2005' and GL10351_MON ='01'
and GL10100_CODE='610101' and GL10350_DEPT='8787'

Fishman
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-07-25 08:40:25 IP:210.65.xxx.xxx 未訂閱

with UpdateQuery.SQL do
begin
clear;
Add('update GL10351');
Add('set GL10300_ACU=(select(SUM(GL10300_BAMT)) FROM GL10351');
Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON<=''' MON ''' ');
Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' ) ');
Add('where GL10350_YEAR=''' GL_YEAR5 ''' and GL10351_MON =''' MON ''' ');
Add('and GL10100_CODE=''' GL_CODE5 ''' and GL10350_DEPT=''' GL_DEPT5 ''' ');
SaveToFile('c:\1.txt');
end;

Fishman

------
Fishman
sky11167
一般會員


發表:3
回覆:9
積分:1
註冊:2006-07-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-07-25 09:05:05 IP:61.219.xxx.xxx 訂閱
今天是凱米颱風遍掃台灣的黑暗時刻
但幸運的是 一早收到FishMan前輩指點迷津的信件
真是後學心坎裡的一道溫暖的曙光
真的是非常感恩您 也謝謝您
那麼無私的普照後學內心的無明[唉 寫不出程式真是苦悶啊]
FishMan前輩真的是功德無量 一級棒棒棒!! !! !! !! !! !! !!
系統時間:2024-05-19 2:36:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!