過去の桐井戸端BBS (桐ver.9)
28843 タイル形式レポートで特定レコードについては繰り返して印刷したい みの 2005/01/28-20:00
 桐ver9を使用して梱包(冊子)に添付するシールをrptのタイルを利用して出力しようとしています。
ところがレコードによって梱包数が違うので出力できずに困っています。

例えばA店-1梱包 B店-3梱包などです。
 TBL上では梱包数も入力してあるので、この梱包数の数に応じて自動的に必要数だけ印刷することは可能でしょうか?
 梱包数で絞り込んで同じ数のものを集めて出力することも考えましたが、
出荷量が増える=梱包数が増えるにはならない(5種類の箱を組み合わせて
出荷するので1冊で1梱包もあれば100冊で1梱包のこともある)し、
出荷量の少ない順に並び替えてリストを出さなくてはならないのでそれもできないのです。
 何か良い方法があったらぜひお教えください。
 宜しくお願いします。
28844 Re:特定レコードの繰り返し印刷 悲しげ 2005/01/28-21:19
記事番号28843へのコメント
下記のような一括処理を、自分の実務で使っていました(過去形)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
proc 印刷()
 絞り込み [部数]>0
 if(&選択件数=0)
  確認 "全ての部数がゼロですが?"
  解除
  return
 end
 繰り返し( .not #EOF)
  &店名=[店名],&i=[部数],&j=#行番号
  確認 [店名]+"分を"+#STR(&i)+"枚印刷します。",&確認
  cond(&確認)\
   レポート印刷 "某.rpt",部数=&i,開始ページ=&j,終了ページ=&j
    ,編集表=する,会話=する,終了状態=&終了
  ジャンプ 行番号=+1
 繰り返し終了
end
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
が、これは普通のカード用であってタックシール用ではありませんね。(^^;)

タックシールの場合だと、仕組みがちょっと特殊なので、私なら印刷用の作業表(必要部数分の行数を行追加したもの)を
別途用意して印刷させるかもしれません。例えば下記のように
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
変数宣言 長整数{&梱包数,&回数},文字列{&店名,&なんとか,・・・}
表 "元の表.tbl"
書き出し 枠組み,"印刷作業表.tbl"
絞り込み [梱包数]>0
繰り返し( .not #EOF)
 &店名=[店名],&梱包数=[梱包数],&なんとか=[なんとか],・・・・
 編集表 "印刷作業表.tbl"
 繰り返し &回数=1,&梱包数
  行追加 [店名]=&店名,[なんとか]=&なんとか,・・・・・
 繰り返し終了
 編集表 "元の表.tbl"
 ジャンプ 行番号=次行
繰り返し終了
編集表 "印刷作業表.tbl"
確認 "印刷を実行します",&実行リターン
cond(&実行リターン=1) レポート印刷 "某タイル.rpt",・・・・
*(タイル印刷用rptの対象表はこの別表とする)
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ただし挙動未確認です。(^^;)

戻る