Microsoft Access 掲示板

Access印刷部数指定と連番印刷 / 1

4 コメント
views
4 フォロー
1
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イベントを使って、プレビュー表示→PrintOutCloseを繰り返してもいいとは思います

通報 ...