帳齡分析 |
尚未結案
|
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
Hi doll_candy:
關於這種客制化的報表, 小弟提供幾個方向給您參考..
先確定好開發架構, 再著手進行比較好... 1. 用SQL 包成View, Delphi 直接拉DBGrid.
優點: 第一次開發速度最快. 資料即時性.
缺點: View裡面SQL冗長. 需精通advance SQL 語法.
若需求更改頻繁, 鐵定改不完.
執行效率不佳. 2. 寫 Store procedure 塞資料到客制化的表格, Delphi 直接拉DBGrid
優點: 執行效率最佳.
缺點: 需事先執行, 資料不即時.
各家procedure 語法差異大, 移植性粉差, 需精通procedure 語法. 3. 使用 Delphi StringGrid.
優點: 資料庫移植性最佳. 只需熟基本SQL語法.
修改彈性大.
執行效率可.(因為資料運算在本磯電腦)
缺點: 需精通 StringGrid. 第一次開發時程較久. 小弟以上方法皆用過, 沒有哪種方法一定最好...視需求決定..
以您的需求, 小弟會建議採用2或是3方法..
至於您要寫SQL2000 procedure 或是 用Delphi StringGrid來作,
可考慮個人Skill, 此需求schedule, 以及資料可攜性來做最後決定... 以上是小弟淺見, 希望對您有幫助...
P.S. 這裡小弟提供我知道的魚池地點以及選擇釣竿的方法, 至於您要的魚, 可能還是需要您自己釣了
|
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
引言: Hi doll_candy: 關於這種客制化的報表, 小弟提供幾個方向給您參考.. 先確定好開發架構, 再著手進行比較好... 1. 用SQL 包成View, Delphi 直接拉DBGrid. 優點: 第一次開發速度最快. 資料即時性. 缺點: View裡面SQL冗長. 需精通advance SQL 語法. 若需求更改頻繁, 鐵定改不完. 執行效率不佳. 2. 寫 Store procedure 塞資料到客制化的表格, Delphi 直接拉DBGrid 優點: 執行效率最佳. 缺點: 需事先執行, 資料不即時. 各家procedure 語法差異大, 移植性粉差, 需精通procedure 語法. 3. 使用 Delphi StringGrid. 優點: 資料庫移植性最佳. 只需熟基本SQL語法. 修改彈性大. 執行效率可.(因為資料運算在本磯電腦) 缺點: 需精通 StringGrid. 第一次開發時程較久. 小弟以上方法皆用過, 沒有哪種方法一定最好...視需求決定.. 以您的需求, 小弟會建議採用2或是3方法.. 至於您要寫SQL2000 procedure 或是 用Delphi StringGrid來作, 可考慮個人Skill, 此需求schedule, 以及資料可攜性來做最後決定... 以上是小弟淺見, 希望對您有幫助... P.S. 這裡小弟提供我知道的魚池地點以及選擇釣竿的方法, 至於您要的魚, 可能還是需要您自己釣了hi yachanga 以2的方法可否請您幫幫我,我想學習用 2. 寫 Store procedure 塞資料到客制化的表格, Delphi 直接拉DBGrid 我想學習看看,拜託您了 學習中的candy doll_candy
------
doll_candy |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi doll_candy, 前幾天在看 Oracle 的 SQL 文件時,看到一個語法,翻成 SQL Server 語法大致如下,也許可以適用
SELECT MA015, SUM(CASE WHEN DD <= 30 THEN SUMDATA ELSE 0 END) SUM30, SUM(CASE WHEN DD > 30 AND DD <= 60 THEN SUMDATA ELSE 0 END) SUM60, SUM(CASE WHEN DD > 60 AND DD <= 90 THEN SUMDATA ELSE 0 END) SUM90, SUM(CASE WHEN DD > 90 AND DD <= 180 THEN SUMDATA ELSE 0 END) SUM180, SUM(CASE WHEN DD > 180 AND DD <= 270 THEN SUMDATA ELSE 0 END) SUM270, SUM(CASE WHEN DD > 270 AND DD <= 365 THEN SUMDATA ELSE 0 END) SUM365, SUM(CASE WHEN DD > 365 THEN SUMDATA ELSE 0 END) SUMOTHERS, SUM(SUMDATA) TOTAL FROM TABLE1 GROUP BY MA015執行結果如下: 希望對你有幫助 PS : 因資料輸入錯誤,結果與你原先的有些差異,敬請見諒 發表人 -
------
Fishman |
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
doll_candy
初階會員 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
引言: fishman 讚 !!!真的很感謝,完全是我想要的 圖一 圖二 (實際上是由兩個TABLE VIEW出來的結帳單& 收款單) MA015 : 業務別 TA001,TA002,TA003 : 結帳單別,單號,日期 TC003 : 收款日期 TA021 : 預計兌現日 TA041 : 未稅金額 TA042 : 稅金 dataSumTD015 : 收款金額(帳款) 這就是依您方式寫出來的程式面,不知可否教我Store procedure 方式 其中參數部份是: convert(datetime,'20040430',112)-->'20040430',參數一 SUBSTRING(TA003,1,6)<='200404' -->'200404',參數二 TC003<='200404' -->'200404',參數三四 T1.TA021<='20040430' -->同參數一 拜託囉 doll_candy
------
doll_candy |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi doll_candy, 說句實話,SQL Server 我並不熟,平常我慣用的 DataBase 是 Oracle,只是因為公司內部有 Oracle 與 SQL Server 所以我可以測試一些基本語法,至於 Stored Procedure,請其他大大伸出援手吧,小弟實在無能為力,歹勢 ----------------------------------
小弟才疏學淺,若有謬誤尚請不吝指教
----------------------------------
------
Fishman |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |