テーブルやクエリとバインド(連結)しているフォームで、表示しているレコー
ドを印刷する方法を説明します。
● 準備 ●
(1) 以下の構成の[住所録]テーブルを作成します
----------------------------------------
フィールド名 データ型
ID オートナンバー(主キー)
氏名 テキスト型
電話番号 テキスト型
会社名 テキスト型
----------------------------------------
(2) [住所録]テーブルをレコードソースとした、単票形式の[住所録レポート]
を作成します。
※ オートレポートでOKです
(3) このままでは、すべてのレコードが連続して印刷されてしまうので、[詳細]
セクションの[改ページ]プロパティを「カレントセクションの後」に変更
する。
(4) [住所録]テーブルをレコードソースとした、単票形式の[住所録フォーム]
を作成します。
※ オートフォームでOKです
(5) フォームフッターにコマンドボタン[印刷]を作成する。
(6) 作成したコマンドボタンのOnClick/クリック時イベントに、以下のプロシー
ジャを記述します。
● サンプル ●
Private Sub 印刷_Click()
Dim strDocNmae As String
Dim strCriteria As String
'レポート名を設定
strDocName = "住所録レポート"
'レポートの印刷範囲を指定するためのWhere句を作成します
strCriteria = "[ID] = " & Me.[ID] & ""
'住所録レポートを開きます
DoCmd.OpenReport strDocNmae, acViewPreview, , strCriteria
End Sub
● 動作確認 ●
適当なレコードに移動し、[印刷]コマンドボタンを押下します。
● 詳細 ●
サンプルではDoCmdオブジェクトのOpenReportメソッドでレポートを開いてい
ます。第2引数が「acViewPreview」ですから、ここではレポートはプレビュー
で開かれます。ここを「acViewNormal」とすると、直接印刷されます。
|