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

請問現金日記帳餘額怎樣做

尚未結案
jianke300
一般會員


發表:2
回覆:3
積分:1
註冊:2004-12-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-07 11:33:21 IP:218.16.xxx.xxx 未訂閱
各位前辈请赐教: 小弟刚学delphi不久,想自己做个简单的现金日记帐,怎么样才能使余额=余额(上一行) 收入-支出啊。先谢了。(sql和access) 再改个邮件地址看能否注册进来,我都流汗了。
------
再改个邮件地址看能否注册进来,我都流汗了。
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-07 12:06:24 IP:202.62.xxx.xxx 未訂閱
您好﹗    一個想法﹐供您參考﹒ 使用兩個ADOTable(比如說您用ADO連接Access資料庫)﹐ADOTable1用于存取﹐異動日記帳資料表的內容﹐ADOTable2用于查詢當前資料上一筆資料的余額值﹐再傳入ADOTable1做當前筆資料的余額計算﹒    ========================= 我是您的朋友﹐有您真好﹗ =========================
------
忻晟
jianke300
一般會員


發表:2
回覆:3
積分:1
註冊:2004-12-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-08 16:57:40 IP:218.16.xxx.xxx 未訂閱
偶试不出来,好像达不到我的要求,我就想让它把整个表都显示出来,而余额自动在后面结转,我现在只能做到每一行都有余额,究竟怎么搞啊大哥大姐们,帮帮我啊。 再改个邮件地址看能否注册进来,我都流汗了。
------
再改个邮件地址看能否注册进来,我都流汗了。
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-08 17:35:58 IP:202.62.xxx.xxx 未訂閱
您好﹗    如下的範例﹐供您參考﹗使用一個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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-08 21:40:51 IP:220.135.xxx.xxx 未訂閱
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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-09 09:21:08 IP:211.23.xxx.xxx 未訂閱
這個我有一個程式做過了。 首先現金帳要有一個 自動編號的欄位 姑且叫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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-10 10:10:23 IP:218.16.xxx.xxx 未訂閱
谢谢各位,真想给每位朋友都加分。a6475的更简单易懂,请让我把分加给他好吗,对cashxin2002、Miles两位表示衷心的感谢。 再改个邮件地址看能否注册进来,我都流汗了。
------
再改个邮件地址看能否注册进来,我都流汗了。
系統時間:2024-06-29 5:40:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!