[FastReport]資料後,要下SQL,要在哪個事件寫程式? |
答題得分者是:RobertLi
|
jasonma168
一般會員 發表:39 回覆:33 積分:14 註冊:2002-05-24 發送簡訊給我 |
|
jasonma168
一般會員 發表:39 回覆:33 積分:14 註冊:2002-05-24 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 哪位先進,如果已經確定FastReport無法辦到,也請給個回應,謝謝!你到這裡尋求協助看看, 或者 http://pgsql.vip.idv.tw:8080/ 因為我不知道你的報表資料是如何展現, 假設你只有一個MasterData Band(主資料)來表現你的報表, 那你可以利用一個MasterDataFoot Band(主資料表尾, sorry, 因為我的FR已中文化, 所以不是很清楚英文的原名), 然後在其Band的OnbeforePrint中撰寫Update的行為(因為FR沒有OnAfterPrint), 但如何撰寫因為我也剛用FR, 所以我不知道! 因為你問要在那一個事件寫, 如果是我, 我就會這樣做, 因為MasterDataFoot 會接在MasterData每一筆記錄列印完畢執行, 所以可以把它視為一個OnAfterPrint的行為! 以上是個人意見, 但未經證實~~~ 發表人 - P.D. 於 2002/12/07 00:14:06 |
RobertLi
一般會員 發表:1 回覆:31 積分:21 註冊:2002-09-01 發送簡訊給我 |
Jasonma168兄: >>每筆資料確實列印後,要下 SQL update 資料,請問
>>(FastReport)要在哪個事件寫程式? 你是說每印出一筆資料『後』就要作一筆記錄,是如此嗎? 這有點問題,因為FR只有OnBeforePrint,而不像QR等有
Before/After-Even。所以要確定『已印出某筆資料』
後將列印記錄更新存檔有點困難。而且你要印完一筆後
即下SQL命令更新後端DB,這在QR很簡單,只要在
Before/After-Even中下SQL命令即可。可是FR就很不
容易。因為FR設計是與Delphi/BCB-Code是獨立的。意
即FR的Design/Edit/Run/Maintain都可不須要有
Delphi-AP-Code存在或重新Compiler。所以你要在『
印完一筆後即下SQL命令更新後端DB』,那你就要用
OnUserFunction,可是它的時機也只有在
MasterDataBand.OnBeforePrint時為之。這在多筆列
印應是沒什麼差別。但在一筆一批次時就可能有問題,我
想這應該是你想要的問題點。如果是這種情形,一筆資料
就是一批,那要...我沒經驗,我要想想。這可能不是用
一般的frDataSet的關聯做的。 你這問題很有意思,我們很有興趣,來我們這FastReport版
討論吧。==>pgsql.vip.idv.tw:8080 RobertLi 發表人 - Robertli 於 2002/12/09 23:43:38
|
RobertLi
一般會員 發表:1 回覆:31 積分:21 註冊:2002-09-01 發送簡訊給我 |
P.D.兄講的用下一個Band的OnBeforePrint作上一個Band﹝可能是
不同或相同的Band﹞的『OnAfterPrint』,這可能也可以答到你
的印完一筆即下SQL更新記錄之功能。不過你可能要在召喚此FRF的
Delphi-AP-Code的某Module退出前再下最後一筆SQL更新命令。 還是P.D.兄的點子好。 不過小弟順便提一下,請P.D.兄別生氣。MasterDataFooter會在所有
MasterDataBand資料印完後才印,而非印筆MasterDataBand即印
一次MasterDataFooterBand。P.D.兄熱心助人,且小弟與P.D.兄
可算是論壇老友了,小弟有話直說,諒P.D.兄不會生氣吧。 RobertLi
|
jasonma168
一般會員 發表:39 回覆:33 積分:14 註冊:2002-05-24 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: P.D.兄講的用下一個Band的OnBeforePrint作上一個Band﹝可能是 不同或相同的Band﹞的『OnAfterPrint』,這可能也可以答到你 的印完一筆即下SQL更新記錄之功能。不過你可能要在召喚此FRF的 Delphi-AP-Code的某Module退出前再下最後一筆SQL更新命令。 還是P.D.兄的點子好。 不過小弟順便提一下,請P.D.兄別生氣。MasterDataFooter會在所有 MasterDataBand資料印完後才印,而非印筆MasterDataBand即印 一次MasterDataFooterBand。P.D.兄熱心助人,且小弟與P.D.兄 可算是論壇老友了,小弟有話直說,諒P.D.兄不會生氣吧。 RobertLi感謝RobertLi提醒, 這那有生不生氣的事情呢? 大家討論討論嗎! 我用FR歷程也不是佷久, 所以我才會在上面說以上意見未經證實, 但換個想法來說, 如果找一個Band可以接在每一個MasterDataBand印一筆就會執行的, 在這個Band上的beforeprint做, 或許可行, 我目前能想到的DetailDataBand 或 Child 好像是可以做吧! 理論還需要實證~~~~ |
RobertLi
一般會員 發表:1 回覆:31 積分:21 註冊:2002-09-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |