hiroton
2024/10/28 (月) 18:50:03
99518@f966d
まずは確認ですが、
こんな感じのことを通常のプリンタでやりたいってことでいいですか?
印刷するごとに印刷内容が変わるので、必要回数(部数分)印刷を繰り返します
印刷の実行時にDoCmd.OpenReport
なら追加の情報を付与できるので、レポート側でその情報を使って印刷内容を変えます
印刷するレポート「T_ケースマーク印刷データ(Tag Noあり) のコピー」(以下単にレポート)に部数表示用のテキストボックス(名前:部数表示)を配置します
レポートにレポートヘッダーを設定して(可視プロパティ「いいえ」でかまわない)フォーマット時イベントを次の通りに設定します
Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer)
Me!部数表示 = Me.OpenArgs
End Sub
印刷ボタンのイベントを次の通りにします
Private Sub cmdPrint_Click()
Const DocName = "T_ケースマーク印刷データ(Tag Noあり) のコピー"
Dim i As Long
DoCmd.Close acReport, DocName '部数表示設定のために閉じる
For i = 1 To Me!印刷部数
DoCmd.OpenReport DocName, acViewNormal, , , , i
Next
End Sub
読み込み時(Report_Load)でいいかな?
→印刷だとイベントが発火しない(プレビュー表示なら発火する)
じゃあ開く時(Report_Open)で・・・
→値の変更不可
えー・・・印刷ごとに一回だけ実行されればいいんだけど・・・しかたない、レポートヘッダー使うか
Report_Loadイベントを使って、プレビュー表示→PrintOut
→Close
を繰り返してもいいとは思います
通報 ...