過去の桐井戸端BBS (桐ver.5)
1669 桐5の帳票印刷で頁番号をグループ毎にしたい さかい 1999/4/8-18:12
こんにちは。
どなたかおわかりになったら教えてくださいませんか?

じつは、いま桐V5の帳票印刷を作成しているのですが、ヘッダー部分に頁数を印字させています。
今までは連番(1,2,3・・・)で良かったのですが、
グループが変わる毎に頁数を<1>ページから始めたいんです。
つまり・・・

グループ A
 1ページ
 2ページ
 3ページ
 4ページ
グループ B
 1ページ
 2ページ
 3ページ・・・・・

となるように。

表形式状態でグループAから順に1つずつ選択して印刷したり一括処理を使う等してできるとは
思いますが、なんとか1度に印刷したいんです。
関数で対応できないものでしょうか?
よろしくお願いいたします。
1672 Re: 悲しげ 1999/4/9-18:46
記事番号1669へのコメント
どもっ、さかいさん
私は同様のことを昔NIFTY-Serve/FAPPLI/桐たんすで教わりました。

印刷用帳票の中に次のような式を設定します。
ただし、&グループと&頁なる変数が宣言されている必要があります。
判りやすくするためにこのような変数名を使っていますが、組み込み変数を使ってもかまいません。

#条件選択([グループ]=&グループ,#計算(#頁番号-&頁)\
     ,1,#計算(#代入(&グループ,[グループ])\
         ,#代入(&頁,#頁番号-1)\
         ,#計算(#頁番号-&頁)))

説明は……、私にはできません。(^^;)

ps:
プレビュー(レイアウト)表示させると、変数に値が入って計算されるため、
最初のグループの頁数はおかしくなる可能性がありますからご承知おき下さい。
1676 Re: 佐藤博己 1999/4/11-12:43
記事番号1669へのコメント
初めまして。

一括処理などで対応するのが確実とは思いますが、一般論として、項目計算式および関数で
対応する場合には、以下のような方法で可能かと思います。

グループA・グループB・・・の項目名を [グループ]
1ページ・2ページ・・・ の項目名を [ページ]
とします。
その上で、[グループ][ページ]の順で整列します。

[ページ]の項目計算式を以下のように設定します。

#条件(#直前値([グループ],"")="",1 \
,#直前値([グループ],"")=[グループ],#直前値([ページ]+1) \
,1,1)

解説:[グループ]の値で直前値が無い(即ち、先頭行)場合は、[ページ]の値は1。
[グループ]の値が直前値と同じ(即ち、同じグループ)の場合は、直前値のページ数+1。
それ以外の(即ち、グループが変わった)場合は、ページ数は1。

と いう具合です。

いかがでしょうか。
1678 Re: さかい 1999/4/12-09:33
記事番号1669へのコメント
悲しげさん、佐藤博巳さんどうもありがとうございました。
おふたりからのご教授、

1.変数を利用して帳票側で制御する方法
2.表に[ページ]という項目を追加して項目計算式で対応する方法

・・・は非常に興味深く、自分の考えていた視点とすこし違っていたのでとても勉強になりました。
結局、一括処理を作成して対応することにしておりますが(佐藤さんからも一括処理の方が
確実・・・とお墨付きを頂いたのでよかった)
どうしても一括処理を使った処理以外に手だてはないものかと思っていましたので、
ぜひこれらの方法を参考にした結果を出してみます。

どうも何でもかんでも「一括処理でやっちまえー」ってな考え方をするようになった自分に
釘をささないといけないなぁ・・・と感じています。この頃とくに。

ほんとうにありがとうございました。
今後ともまた教えていただくことがあるかと思いますが、ぜひよろしくお願いいたします。
自分も教える側に早くなれるよう精進します。
取り急ぎ御礼まで。 m(_ _)m

戻る