• ベストアンサー

Accessレポートのvbaの質問です

Accessレポートの「Copies」の質問ですが、 Reports("rptNohinsyo").Printer.Copies = 2 DoCmd.OpenReport "rptNohinsyo", acViewPreview A4サイズで1枚目に「納品書」「請求書」、2枚目に「納品書(控)」「受領書」 なので、Copies=2で2部印刷したのですが、2枚目の受領書は、 数量。金額欄を空白にしたいので、レポートの中で、今のCopiesを取得出来ませんか? 2部目なら、数量・金額を印字しないようにしたいと思います。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

『怪答』かもしれない・・・ですけど。 印刷時もしくはフォーマット時のイベントで、 PrintCount で楽勝・・と思いましたが 複数部の印刷でもイベントは一回しか起きませんので、没 orz そこで確認です。 印刷するときの順番は 山田さん 請求書 正 山田さん 請求書 副 佐藤さん 請求書 正 佐藤さん 請求書 副 鈴木さん 請求書 正 鈴木さん 請求書 副 が希望でしょうか?それとも 山田さん 請求書 正 佐藤さん 請求書 正 鈴木さん 請求書 正 山田さん 請求書 副 佐藤さん 請求書 副 鈴木さん 請求書 副 後者の場合なら、PrinterCopies は 1 にしておいて DoCmd.OpenReport "rptNohinsyo", acViewPreview ,OpenArgs:= -1 DoCmd.OpenReport "rptNohinsyo", acViewPreview ,OpenArgs:= 0 と二回印刷命令を出します。 レポートの方は、Format時イベントに me!数量.visible = Val(Nz(Me.OpenArgs, -1)) me!金額.visible = Val(Nz(Me.OpenArgs, -1)) と加えれば出来そうです。 前者の場合は、怪答度が激増しますが テーブルを一個作成、フィールド名を仮に CK とします。 値は -1 0 このテーブルとレポートの元になっているクエリ?を直積したクエリを作成します。 元クエリ CK 山田さん -1 山田さん 0 佐藤さん -1 佐藤さん 0 鈴木さん -1 鈴木さん 0 のような並び順になるようにして このクエリをレポートのレコードソースにして me!数量.visible = me!CK me!金額.visible = me!CK のような感じには出来ないでしょうか? レポートの詳細が不明なので怪答度∞です。 (詳細の説明が有ったとしても、たいして変わらないかも?)

kirin4247
質問者

お礼

nicotinism さん お礼が遅くなりました、別テーブル 0、-1を作って、Copiesはなしで やってOKでした。 大変ありがとうございました

関連するQ&A