[HOME] > 「Access マクロ&VBA 開発工房」 サポートページ

 第3章-3 データがなくてもレポートに罫線を引く  実際に印刷する場合は
165ページの[4]の 「伝票一覧」フォームの[コマンド6]のクリック時のイベントでは、印刷プレビューモードで「売上伝票」レポートを開くようにしています。
プレビューしたあと、[QD_空白レコード削除]クエリを開いているので、プレビューしたときには既に空レコードは削除されています。
プレビュー画面で確認し、印刷プレビューウィンドウの「印刷」ボタンを使って印刷しようとしたときには、既にレコードが空になっていて罫線の印刷がされません。
プレビュー画面でテストが終わったら、OpenReportの「ビュー」を「プレビュー」から「印刷」に変更し、直接印刷するように変更してください。
OpenReport(レポートを開く)では通常、「印刷」が規定のビューなので、引数を削除すればよいと思います。
Private Sub コマンド6_Click()
Call Add_Record
DoCmd.OpenReport "売上伝票", acViewPreview, , "伝票番号='" & Me!伝票番号 & "'"
DoCmd.SetWarnings False
DoCmd.OpenQuery "QD_空白レコード削除"
DoCmd.SetWarnings True
End Sub
↓下のように変更
Private Sub コマンド6_Click()
Call Add_Record
DoCmd.OpenReport "売上伝票", , , "伝票番号='" & Me!伝票番号 & "'"
DoCmd.SetWarnings False
DoCmd.OpenQuery "QD_空白レコード削除"
DoCmd.SetWarnings True
End Sub




一度プレビューしてから印刷したい・・・という場合は、削除クエリを別のタイミングで実行すれば実現可能です。
以下の3行(緑字の部分)を削除するかコメントアウトし、たとえば「伝票一覧」を閉じるときなどに実行すれば、印刷プレビュー後の印刷も可能になるはずです。
Private Sub コマンド6_Click()
Call Add_Record
DoCmd.OpenReport "売上伝票", acViewPreview, , "伝票番号='" & Me!伝票番号 & "'"
'DoCmd.SetWarnings False
'DoCmd.OpenQuery "QD_空白レコード削除"
'DoCmd.SetWarnings True
End Sub


「実際に印刷してみると、罫線が10行分印刷されないぞ・・・」という方がいらっしゃいましたら、一度お試しになってみてください。
よろしくお願いします。

[HOME] > 「Access マクロ&VBA 開発工房」 サポートページ