過去の桐井戸端BBS (桐ver.8)
13001 直前行と同じデータのとき「同上」とか「〃」とかいう文字を印刷したい 大原 2001/09/12-07:36
レポート印刷の時、直前行の項目と同じ文字の場合、”同上”または”〃”としたい。
伝票形式で、同じ文字が、沢山並ぶと、見ずらいですよね。
条件選択(項目が直前の項目と同じなら,”〃”,1,項目)のようにしたい。
#直前値は使えない。
13003 Re:同じデータの印刷 幅田 2001/09/12-09:17
記事番号13001へのコメント
大原さん、こんにちは。

通常このような場合は、オブジェクトの属性→印字属性タブでグループ表示にチェックをつけることで、
直前行と同じ場合は表示しないようにさせます。
ただし、この場合、グループ表示なのかデータが入っていないだけ(未定義状態)なのか
印刷したものを見ただけでは区別しにくいですよね。

グループ表示の場合、表示しないか、任意の文字(例えば 〃とか同上とか)を表示させるように
するとかの機能があるといいですね。
今はそういう機能はないので、ちょっと工夫が必要です。

>条件選択(項目が直前の項目と同じなら,”〃”,1,項目)のようにしたい。
>#直前値は使えない。

#直前値が使えない状況での代替案のヒントがあります。
(桐井戸端BBS過去ログ2001のCD書籍のP39参照)

伝票形式のレポートの任意の列で列挿入をして、任意のテキストオブジェクトに

#代入(&比較式,[グループ])
(グループ表示したい項目を[グループ]とします)

という式を設定します。
印刷用紙のあいたところに設定するので、背景は透明、文字色は白などとしておきます。
&比較式に[グループ]の値を代入する式を実行するために設定するので、実際の印刷は必要ありません。
目的の、[グループ]項目のテキストオブジェクトには

#条件選択(&比較式=[グループ],”〃”,1,[グループ])

という式を設定します。

すなわち、#直前値が使えないので、いったん&比較式という変数に[グループ]の値を
代入しておいて、次の行でその値と同じなら”〃”を表示する、違っていれば
[グループ]の値を表示するというしくみです。
もちろん、この項目でのグループ表示のチェックははずしておくことをお忘れなく。

13004 Re:同じデータの印刷(補足) 幅田 2001/09/12-09:27
記事番号13003へのコメント
補足です。
一行目を印字するときの&比較式の値をクリアするため、
フリーヘッダ部の適当なところに

#代入(&比較式,””)

の式を書いた、テキストオブジェクト(背景色は透明、文字色は白)をひとつ設定しておいてください。


13005 よく解りました。 大原 2001/09/12-16:29
記事番号13004へのコメント
よく解りました。どうもありがとうございます。
複数列の項目で同じ処理をする為、組み込み変数を使用せずに、
一括処理の上で、複数の変数宣言しました。
レポート印刷がなされる時のデータの処理は、1レコードの項目ごと、
Z字の順で処理されているのですね。
これからも、よろしく
13009 オブジェクトの処理順番 幅田 2001/09/12-22:09
記事番号13005へのコメント
>レポート印刷がなされる時のデータの処理は、1レコードの項目ごと、
>Z字の順で処理されているのですね。

以前に、K3サポートへ問い合わせたことがあるのですが、
(その時は複合レポートでした)
−−−−−−
オブジェクトの印刷順について
レポートの属性のなかに「定義位置を固定する」という欄がありますが、
ここにチェックが付いているとオブジェクトを定義した順番に表示/印刷します。
チェックが付いていないと、レポートの左上端のオブジェクトから表示/印刷します。
−−−−−−
との答えが返ってきました。参考まで。

戻る