請問現金日記帳餘額怎樣做 |
尚未結案
|
jianke300
一般會員 發表:2 回覆:3 積分:1 註冊:2004-12-07 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
jianke300
一般會員 發表:2 回覆:3 積分:1 註冊:2004-12-07 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 如下的範例﹐供您參考﹗使用一個ADOTable元件﹐且此ADOTable元件已透過上游
的ADOConnection正确連接上資料庫﹐假設目前的現金日記賬資料表中有四個欄
位﹐分別為[鍵值欄位; 收入; 支出; 余額]
Step1. ADOTable1元件的BeforePost事件中﹐如上述假述之資料表中的鍵 值欄位序號為0﹐即在資料表中位于第一欄位﹐且其為String字串形態欄位 Var Str : String; begin Str := ADOTable1.Fields.Fields[0].AsString; end; Step2. ADOTable1元件的AfterPost事件中﹐如上述假設之資料表中的收入欄位 序號為1﹐支出欄位序號為2﹐余額欄位的序號為3﹐即在資料表中分別位于第 二﹑三﹑四欄位﹐且其皆為Real實數形態欄位 Var I : Real; begin if ADOTable2.Locate('鍵值欄位', Str, []) then begin ADOTable2.Prior; I := ADOTable2.Fields.Fields[3].AsFloat; ADOTable1.DisableControls; ADOTable1.Edit; ADOTable1.FieldsByName('余額').AsFloat := I ADOTable1.Fields. Fields[1].AsFloat - ADOTable1.Fields.Fields[2].AsFloat; ADOTable1.Post; ADOTable1.Close; ADOTable1.Open; ADOTable1.Locate('鍵值欄位', Str, []); ADOTable1.EnableControls; end else begin ShowMessage('無符合之資料記錄'); end; end;========================= 我是您的朋友﹐有您真好﹗ ========================= 發表人 - cashxin2002 於 2004/12/08 17:41:45
------
忻晟 |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi jianke300 你好:
SQL Server 2000, 假設Table有餘額 收入 支出三個欄位 第一步驟 先編流水號
Select * Into #Temp1 from Table1 Order by ?? <--也許日期或編號 ---------------------- Select Identity(Int, 1, 1) as RowNum, * Into #Temp2 from #Temp1第二步驟 篩選資料 Select b.餘額 a.收入 a.支出 as 餘額, a.收入, a.支出, b.餘額 as 上期餘額 from #Temp2 a, #Temp2 b where a.RowNum = b.RowNum - 1我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
a6475
高階會員 發表:67 回覆:230 積分:154 註冊:2002-09-15 發送簡訊給我 |
這個我有一個程式做過了。
首先現金帳要有一個 自動編號的欄位 姑且叫idno好了。
還有一個日期 date
然後餘額使用子查詢來算
SELECT 收入,支出,(SELECT (SUM(收入) - SUM(支出)) FROM TABLE T2
WHERE T2.idno < T1.idno AND T2.Date <= T2.Date) AS 餘額
FROM TABLE T1 大概寫法是這樣,還需要在修改一下,只不過我現在程式
在家裡,只能憑印像來寫。 補充一下,這是我寫會計系統算餘額的SQL語法
SELECT *,
(SELECT SUM(AD_in-AD_out) FROM account_Detail AS AD2 WHERE ((AD2.ADate = AD.ADate AND AD2.idno <= AD.idno) or (AD2.Adate < Ad.ADate)) ) as TotalCount
FROM account_Detail AS AD WHERE Year(ADate) = 2004 AND Month(ADate) = 7
ORDER BY AD.ADate,AD.idno 其中 AD_in 就是收入 AD_out 就是支出 idno為Access自動編號
餘額計算 日期比今天小的話,就好算
如果日期都是今天的話,就要看idno
(idno比較大的話,就是晚進來的資料,所以不列入餘額計算) 我國文不好,看不懂的話歡迎提出 ..-----------βλμε------------..
◎Oo月夜 光明 藍更愁oO◎ 藍調月光城v4:http://inping.myweb.hinet.net/ (暫時使用中..) 明日報(藍調.月光):http://mypaper2.ttimes.com.tw/user/a6475 發表人 - a6475 於 2004/12/10 00:11:51 發表人 - a6475 於 2004/12/10 00:16:32
------
月夜 光明 藍更愁 |
jianke300
一般會員 發表:2 回覆:3 積分:1 註冊:2004-12-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |