ACCESS VBA 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の操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。