- - PR -
クリスタルレポート改ページ
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-15 11:18
クリスタルレポート初心者です。お願いします。
クリスタルレポートの詳細部分で1ページ目は8行で改ページ、 2ページ以降は14行で改ページとしたいのですが、設定方法がわかりません。 現在,セクションエキスパートの出力後に改ページにチェックを入れて、 以下の記述を追加しているのですが、 2ページ目が6行目で改行されてしまいます。 ----------------------------------------- If PageNumber = 1 then RecordNumber = PageNumber*8 else If PageNumber > 1 then RecordNumber = 14 ----------------------------------------- どなたか具体的な方法をご教授していただけませんでしょうか? よろしくお願い致します。 Ver.CrystalReport 9 |
|
投稿日時: 2004-12-16 07:52
INC.様
詳細部分が1行1レコードで表示させるのであれば、・・ 1. ページヘッダーに以下の式フィールドを挿入します。 //変数の初期化 WhilePrintingRecords; NumberVar GyoCounter:=0; 2.以下の式フィールドを作成します。 //詳細行のカウントアップ WhilePrintingRecords; NumberVar GyoCounter; GyoCounter := GyoCounter + 1; 3. セクションエキスパートから詳細部分の「出力後に改ページ」オプションの条件式に 以下を挿入します。(チェックは不要です。) WhilePrintingRecords; If PageNumber <> 1 then {@上記の式フィールド名} = 14 else {@上記の式フィールド名} =8 シンプルなレポートであれば、上記の方法で可能だと思います。 また、ちょっと高度に記述をするなら、直接RecordNumberを利用することもできます。 セクションエキスパートから詳細部分の「出力後に改ページ」オプションの条件式に 以下の式を挿入します。 WhilePrintingRecords; If PageNumber <> 1 then //2ページ以降 Remainder(RecordNumber - 8, 14)=0 else //1ページ目 RecordNumber = 8 このRemainder関数は、余りを求めるものです。 この式の場合、レコード件数14で割り切れると値が0の結果になります。1ページ目に8レコード表示しているので、其の数を引いた後、14で割り切れるところが改ページする箇所と判断します。 |
1