フォーム上で表示しているレコードをレポートとして印刷する

  テーブルやクエリとバインド(連結)しているフォームで、表示しているレコー
ドを印刷する方法を説明します。


● 準備 ●

(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」とすると、直接印刷されます。


Access97/2000



戻る


Excel Word Access VBA! モーグ