過去の桐井戸端BBS (桐ver.8)
28166 複合レポートに貼り付けた一覧表オブジェクトのデータがあふれたとき2頁移行の頁番号を振りたい むぅ 2004/11/10-17:11
皆様こんばんは。桐v8sp7、Win2000です。
表題につきまして、宜しくご指導下さいませ。

複合レポートに、一覧表を組み合わせています。
全ての通し番号は、テキストオブジェクトに#連番または#頁番号で表示することが出来ました。
通し番号とは別に、一覧表のデータが溢れて2枚目・3枚目・・・となった時に、2・3・・・とページを振りたいのですが、
出来ますでしょうか。
1枚に収まるものは全て1と表示され、溢れたら2・3・・・とページを振りたいのです。

説明が下手で分かり難く大変申し訳ありませんが、よろしくお願い致します。
28171 Re:複合レポートのページについて 佐田 守弘 2004/11/10-23:26
記事番号28166へのコメント
むぅさん
一覧表部分のみに、その一覧表毎のページ番号を付けたい場合には、
その一覧表オブジェクトの中にフリーページヘッダを作り、この中に#頁番号関数を設定したテキストオブジェクトを作ってみて下さい。

 >全ての通し番号は、テキストオブジェクトに#連番または#頁番号で表示することが
 >出来ました。

これは一覧表オブジェクトの外に作ったテキストオブジェクトですね。
レポートの白紙上に作ったテキストオブジェクトでは、この様にレポート全体の頁番号になります。
一方、一覧表なり伝票オブジェクトの中にテキストオブジェクトを作った場合には、
そのオブジェクトで繰り返される頁の連番が印刷されるはずです。

上記のように、一覧表内での頁番号は一覧表オブジェクトの中に作ればよいのですが、
ページ毎に印刷したいのであれば、ページヘッダかフッタ、ないしはフリーページヘッダか
フリーページフッタを使うのが良いでしょう。

補足
今作ってある全頁を印刷するテキストオブジェクトをコピーして、一覧表オブジェクトの中に貼り込むことも可能ですが、
うまく行わないと、単に一覧表オブジェクトと同じ位置に貼り付けただけで、
一覧表の中に入っていない場合があります。
うまく行かない場合には、オブジェクトリストのダイアログを開いて、ページ番号を印刷するテキストオブジェクトが
一覧表オブジェクトのヘッダなりフッタの中にあるかどうかを確認して下さい。

佐田守弘(KS-00119)
28175 Re:複合レポートのページについて むぅ 2004/11/11-09:27
記事番号28171へのコメント
佐田様、おはようございます。
コメント頂きまして、有り難うございました。

私の説明不足で申し訳ありません。
溢れた時に振りたい頁番号も、一覧表の外(レポートの左上あたり)に表示させたいのです。
全体の通し番号は、右上に表示しています。

一覧表オブジェクトの中に作らないと無理でしょうか・・・。

よろしくお願いします。
28184 地方自治と同じです。 佐田 守弘 2004/11/11-20:54
記事番号28175へのコメント
むぅさん
 >一覧表オブジェクトの中に作らないと無理でしょうか・・・。

その通りです。一覧表オブジェクトの中で行う事は、その中で、レポート全体で行う事は、レポートの中で行います。

これは地方自治と同じです。
都道府県の条令を国会で決めることはできません。
もし無理にやろうとしたら越権行為になります。

●でも...
地方で決めたことを国全体に公告ることは可能です。
御質問の件も全く同じで、ページ番号は一覧表オブジェクトの中で生成させ、
この値を変数に代入しておいて、レポートのどこかで変数値を参照して印刷する事ができるかと思います。

すなわち、まず、局所変数として「&頁」を定義しておきます。
一覧表オブジェクトの中で、頁番号を取得するテキストオブジェクトに、
 #計算(#代入(&頁,#頁番号),"")
と設定して下さい。これで変数&頁にその頁の頁番号が代入されます。

●課題
頁番号をレポートのヘッダに印刷したいとしたら、印刷する値が計算されるのが、印刷されるよりも後になります。
これは集計値の計算順序で何とか対処できるかとは思います。

次に、一覧表でない頁には、多分全頁と同じページ番号が印刷されてしまいます。
これをどうやって回避するかですね。
これについてはレポートの詳細が分らないので、具体的な対処方法は提示できません。

佐田守弘(KS-00119)
28189 出来ました! むぅ 2004/11/12-10:53
記事番号28184へのコメント
佐田様、アドバイス有り難うございました。

お陰様で、一覧表が溢れた時の頁番号も表示する事が出来ました。
頂いたアドバイス元に、私が設定した方法をご報告させて頂きます。

複合レポートの一覧表オブジェクトにフリーページヘッダを設定し、
その中にテキストオブジェクトを配置しました。
(罫線:なし、背景:透明、文字色:白 行の高さ:0.1mm)
テキストオブジェクトのソースに下記を設定しました。
>#計算(#代入(&頁,#頁番号),"")

レポート全体の左上の方にテキストオブジェクトを作成し、
ソースを &頁 としました。

このレポートを指定して印刷処理をしているイベントのメインに下記を追加しました。
(局所にしたところ、エラーになってしまったので固有にしました。)

変数宣言 固有, 数値 {&頁}

ところで、#計算 関数は使ったことが無かったのですが、
このようにすると、テキストボックスに値が表示されないのですね。
勉強になりました。有り難うございました。

戻る