過去の桐井戸端BBS (桐ver.9)
30310 レポート印刷で各レコードの[部数]にある数だけ印刷したい kojikoji 2005/06/27-10:10
レポート印刷で、各レコードの[部数]にある数だけ印刷したいのですが、
どうしたらよいでしょうか?今までは、部数分レコードを追加していたので
すが、もう少し簡単にできないでしょうか?教えてください。
30311 Re:レポート アックン 2005/06/27-15:10
記事番号30310へのコメント
kojikojiさん、こんにちは。
タイルでなければ、こんなふうに。

(a)表だけ使っている場合

下記の一括処理を新規作成します。
一括処理ファイルの拡張子はcmdです。
メニューから「一括処理実行」を選んで実行します。

(b)表+フォームを使っている場合
下記の一括をコマンドボタンの左クリックイベントに定義します。

項目集計 [部数]
while(.not#eof)
  絞り込み 行数=1
  条件([部数]) レポート印刷 "レポートファイル名", 部数=[部数]
  絞り込み 補集合
end
解除 &有効件数
確認 "印刷処理終わりました。"

このやり方は絞り込み数に制限があるかな・・・・? >誰か〜(^^;

「部数]が 0 のときも1枚印刷してしまうので、
条件([部数]) と記述して回避しています。

他のやり方
別の表に「書き出し 追加」で部数分の行を書き出し、印刷する方法がよく使われます。

アックン(=^・^=)
30313 Re:レポート うにん 2005/06/27-19:53
記事番号30311へのコメント
>このやり方は絞り込み数に制限があるかな・・・・? >誰か〜(^^;

解除できる段数に制限があったような。(DOS版だけかな)
9では255レベルとなってますね。

30317 Re:レポート アックン 2005/06/28-13:35
記事番号30313へのコメント
うにんさん、どうもー。
>9では255レベルとなってますね。
512あったかなと思ってましたが、その半分ですね。
実際に一括を走らせてみると、
基本状態で254行までならオーケーでした。
解除も一発オーケーでした。

それと、
「解除 &有効件数」だと未定義値を計数してないので、
「解除 &件数」の方がいいかも。

255行以上あるときは、「書き出し 追加」がいいようです。

30319 Re:レポート うにん 2005/06/28-19:56
記事番号30317へのコメント

>255行以上あるときは、「書き出し 追加」がいいようです。

前に書きましたが、単票レポートならページ=レコードなので
絞り込みの代りに開始・終了ページ指定でいけますよね。

30323 Re:レポート 大野達郎 2005/06/29-12:04
記事番号30311へのコメント
kojikojiさん、アックンさん、うにんさん、こんにちは。

> このやり方は絞り込み数に制限があるかな・・・・? >誰か〜(^^;

変数宣言が必要ですが、これはどうでしょう?


変数宣言 数値{ &総件数, &i }

&総件数 = #総件数
for &i = 1, &総件数
 ジャンプ 行番号 = &i
 絞り込み 行数 = 1
 条件( [部数] ) レポート印刷 "レポートファイル名", 部数 = [部数]
 解除 1
end

30324 Re:レポート アックン 2005/06/29-12:50
記事番号30319へのコメント
>絞り込みの代りに開始・終了ページ指定でいけますよね。
なるほど。それなら絞り込みレベルを気にしなくていいですね。(^^)v

以前から疑問だったのですが、
レコード数がかなり多いと、
プリンタに一度に印刷データを送れないはずですね。
そのときどんなことが起きるんだろう・・・・・?
印刷待ちのジョブだったかがたくさんできるのかな。
桐が身動き取れなくなるのかな。
誰かやってみてちょ。(^^;
30325 Re:レポート アックン 2005/06/29-12:54
記事番号30323へのコメント
大野達郎さん、こんにちは。
いいですね。頭柔らかいんだね。(^^)v
ぼくは補集合しか頭に浮かばなかったです。
それなら絞り込みレベルの制限を受けないでしょうね。
ありがとうございます。

ところで、質問した人はどうしたかな。
わからないところは、なんでも聞いてくださいね。

アックン(=^・^=)
30326 Re:レポート kojikoji 2005/06/29-13:59
記事番号30323へのコメント
>アックンさん、うにんさん、大野達郎さんこんにちは。
>
皆さんいろいろありがとうございます。
今、パソコンをあけて、皆さんの回答を見て、とっても感激してます。

早速、下の一括を試してみたのですが、どうも2乗された部数が、印刷されてしまうのですが・・・
2部は4部 3部は9部といった具合です。
どうしてでしょう?教えてください。


>変数宣言が必要ですが、これはどうでしょう?
>
>
>変数宣言 数値{ &総件数, &i }
>
>&総件数 = #総件数
>for &i = 1, &総件数
> ジャンプ 行番号 = &i
> 絞り込み 行数 = 1
> 条件( [部数] ) レポート印刷 "レポートファイル名", 部数 = [部数]
> 解除 1
>end
>

30327 Re:レポート 宮城 2005/06/29-14:21
記事番号30326へのコメント
kojikojiさん、皆さん、こんにちは。

>早速、下の一括を試してみたのですが、どうも2乗された部数が、印刷されてしまうの
>ですが・・・
>2部は4部 3部は9部といった具合です。
>どうしてでしょう?教えてください。

ひょっとして2部欲しいのは2行、3部欲しいのは3行(つまり元のまま)であの一括動かしていませんか?
それぞれ1行にしておかないとまさにそうなりますよ。(^^;;


30328 Re:レポート kojikoji 2005/06/29-14:33
記事番号30327へのコメント
kojikojiです

>ひょっとして2部欲しいのは2行、3部欲しいのは3行(つまり元のまま)
>であの一括動かしていませんか? それぞれ1行にしておかないとまさ
>にそうなりますよ。(^^;;
>

1行というのは、レコード数のことでしょうか?
レコード数なら、それぞれ1行になって、部数の項目に2とか3とか
部数が入っている状態ですが・・
なにが変なのでしょう・・・



30331 Re>指定した[部数]だけ印刷 悲しげ 2005/06/29-21:06
記事番号30328へのコメント
開始〜終了ページを指定すれば絞り込みしなくてもよいのでは?
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ジャンプ 行番号=1
繰り返し( .not #EOF)
 条件([部数]>0) レポート印刷 "某.rpt",部数=[部数]\
  ,開始ページ=#行番号,終了ページ=#行番号
 ジャンプ 行番号=+1
繰り返し終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
試してませんが(^^;)



それとNo.30326

>どうも2乗された部数が、印刷されてしまう

のは宮城さんがNo.30327で指摘した理由以外には思い当たらないですね。
つまり、No.30326で云う

>今までは、部数分レコードを追加していたのですが、

この「部数分レコードを追加」した表で試してたりしませんか?
あるいは、レポート印刷コマンドがうっかり2行記述してあるとか?

30332 訂正 悲しげ 2005/06/29-21:10
記事番号30331へのコメント
>つまり、No.30326で云う
>
>>今までは、部数分レコードを追加していたのですが、

ここはNo.30310でした。(^^;)
30344 Re:Re>指定した[部数]だけ印刷 kojikoji 2005/06/30-15:44
記事番号30331へのコメント
悲しげさん こんにちは

テスト用に新しく2行だけの、表を作成してトライしてみたのですが、結果は同じでした。
レポート印刷コマンドも確認しましたが、1行だけでした。
どうしてだろう・・・もう少しあっちこっち確認してみます・・・
でも・・・わからなかったら、またご相談にのって下さい。


30346 Re:Re>指定した[部数]だけ印刷 悲しげ 2005/06/30-18:30
記事番号30344へのコメント
>テスト用に新しく2行だけの、表を作成してトライしてみたのですが、

なぜ「2行だけ」なのかがよく判りませんが、このまま想像を逞しく
しているだけでは埒があきませんので、もしよろしければ、そのTBLと
RPTとCMDを、LZHに圧縮して保管BBSに上げてみたら如何でしょう?

戻る