2012-05-08 11 views
0

私にはわからないという独自の質問があります。グループごとに選択するグループヘッダーセクションの数を増やす

グループごとにいくつかのグループヘッダーがあるレポートがあります。私がしたいのは、選択されたグループヘッダ(GH1a、GH1p、GH1w ...)に自動インクリメントされた番号が付いていて、ローマン(@function)を使ってローマ数字に変えます。番号付けは実際のグループの数に依存せず、グループヘッダーのみになります。あるかもしれません1 100,000記録(グループ)がレポートに返さなく、各レコード(グループ)のために、各グループ内のグループヘッダーは、選択グループヘッダが同じ

EX番だろう:

GROUP A

GH1a: I 
GH1b: 
GH1c: II 
GH1d: III 
GH1e: 
GH1f: 
GH1g: IV 

GROUP B

GH1a: I 
GH1b: 
GH1c: II 
GH1d: III 
GH1e: 
GH1f: 
GH1g: IV 

など....

助けていただければ幸いです。各GHにreportheaderで

および/またはiCountreset

Global NumberVar iCount:=1; 

@ GH1a //:私は、私は次のコードを使用してインクリメントするレポートヘッダーと各GHの両方でグローバル変数xを使用しようとしました私はインクリメントたいと// @ iCountedその後、

Global Numbervar iCount; 
    iCount:= iCount+1; 

それをromanizeするために第2の1 // @ RomanCount

roman(@iCounted); 

私は現在、それらをハードコードしていますが、いくつかのrptファイルを1つにまとめようとしていますが、いくつかのGHセクションは抑制され、番号付けにはカウントされません。

ありがとうございます。

答えて

0
//{@reset} 
WhilePrintingRecords; 
Global Numbervar G1:=1; 

//{@increment} 
WhilePrintingRecords; 
Global Numbervar G1:=G1+1; 

//{@roman} 
Roman({@increment}) 

**編集**

ライアンさんのコメントは正しかったです。私の新しいアプローチでは、サブレポートを使用して共有変数をインクリメントします。

手順: 'メイン' レポートの

追加{@reset} GH1a。抑制する

//{@reset} 
WhilePrintingRecords; 
Shared Numbervar G1:=0; 

サブレポートを作成します。それをGH1bに入れる。次の数式を追加してください:

詳細セクションに追加します。抑制:

//{@increment} 
WhilePrintingRecords; 
Shared Numbervar G1:=G1+1; 

は詳細セクションに追加します。

//{@roman} 
Roman({@increment}) 

あなたはローマ数字の計算を必要とする各セクションには、このサブレポートを追加する必要があります。このプロセスを少し難しくするには、サブレポート(「サブレポートを別名で保存」)をエクスポートしてから、再度挿入します。

+1

これがうまくいくかどうかはわかりません。私はあなたがレポートに複数回それを置くなら、CRが各GHセクションのために同じ公式を評価するとは思わない。それは何度も何度も "II"を印刷することになります。 – Ryan

+0

あなたは正しいです、ライアン。 {@increment}関数は、その致命的な欠陥に苦しんでいます。 – craig

+0

これはどのように機能するのですか?サブレポートなしの方法はありますか?結果セット以外の「外部」変数に依存するのは本当に嫌いです。かわいらしくない私はちょうどよりきれいな方法があると確信していますか? –

関連する問題