ACCESS VBA OpenReportでレポートを開く方法

OpenReportでレポートを開く方法

ACCESSでは専用の帳票フォーマットとしてレポートを作成することができます。

このレポートは、フォームにボタンを設置して、そこから開くようにすることも可能です。
その際に利用するのが、DoCmd.OpenReportメソッドです。

今回は、OpenReportでレポートを開く方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。

DoCmd.OpenReportの構文

ACCESSでVBAからレポートを開くときは、DoCmd.OpenReportメソッドを使用します。

DoCmd.OpenReportメソッドの構文は以下の通りです。

DoCmd.OpenReport レポート名 , ビュー , フィルター名 , 抽出条件 , ウィンドウモード , OpenArgs

引数が多いですが、ほんと度省略可能ですので最低限はレポート名を指定すれば利用可能です。

例えば、test_請求書というレポートを開く場合は


 DoCmd.OpenReport "test_請求書"

で開くことができます。
ただし、この開き方だといきなり印刷してしまうのでご注意ください。

また、レポート名はテキスト型にする必要があるので「”」(ダブルクォーテーション)で囲うことをお忘れなきよう。

ビューの引数

2つ目の引数に設定するビューのパラメータには以下のパターンがあります。

名前説明
acViewDesignデザインビューで開く
acViewLayoutレイアウトビューで開く
acViewNormal標準状態で開く(既定値)
acViewPreview印刷プレビューで開く

既定値は「acViewNormal」なのですが、これだとレポートを表示せずにいきなり印刷を行います。

ほとんどの場合は一度レポート表示をさせてから印刷したいと思いますので、最もよく利用するのは「acViewPreview」になると思います。

私もレポート表示させる場合はほぼこれですね。

抽出条件の設定

レポートを開くときは、特定のレコードを指定して開くことが多いです。

その際に使用するのが4つめの引数の抽出条件です。

例えば以下のフォームで請求IDを入力し、その請求IDのレポートを開くとします。

この場合、「表示」ボタンにイベントプロシージャを設定します。
フォームをデザインビューで表示しましょう。

フォームのデザインビュー

表示ボタンのクリック時イベントにイベントプロシージャを設定します。

設定したイベントプロシージャの内容が以下です。


 Public Sub 表示_ボタン_Click()

    DoCmd.OpenReport "test_請求書", acViewPreview, , "請求ID = " & Me!請求ID

 End Sub

4つ目の引数に「”請求ID = ” & Me!請求ID」と設定しています。

これは、請求IDはMe、つまり開いているフォームの「請求ID」テキストボックスに入力された値と同じレコードを指定する、という意味です。
この表現は非常によく利用するので覚えておくと便利でしょう。

このイベントプロシージャを設定すれば、請求IDを指定して請求書レポートを開くことができます。

以上、OpenReportでレポートを開く方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。