ACCESS レポートにパラメータを渡す方法

レポートにパラメータを渡す方法

ACCESSでレポートを開く場合は、フォームにボタンを設置してそこから開くことが一般的です。
この際、フォーム側に保持しているパラメータの値をレポートに引数的に渡すことが可能です。

今回はレポートにパラメータを渡す方法をご紹介ます。


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

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

レポートにパラメータを渡す、とは

レポートにパラメータを渡す、とは、レポートを開く際にレポート側で利用したい値を変数に格納しておくことです。

例えば、レポートの並べ替え条件を渡りたり、レポートに表示する値をフォームから渡したり、といったケースが該当します。
レポートを単純に開くだけでなく、直前に操作していたフォームの状態によって、動的に変化する値をレポートに反映する場合に有効です。

OpenArgsでパラメータを渡す

ACCESSでVBAからレポートを開くときは、DoCmd.OpenReportメソッドを使用します。
今回ご説明するレポートにパラメータを渡すのも、このDoCmd.OpenReportメソッドで行います。

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

この最後の引数であるOpenArgsが、レポートに渡すことができるパラメータです。
OpenArgsに値を格納することで、レポート側でも値を利用することが可能です。

なお、DoCmd.OpenReportについて詳しく知りたい方は以下の記事をご覧ください。

OpenReportでレポートを開く方法

レポート側で受け取ったパラメータを使う

一方、レポート側で受け取ったパラメータを利用する時には以下の記述で利用できます。

レポートの「開く時」イベント等でVBAを利用して処理を作成し、そこで上記の記述を行えばDoCmd.OpenReportで受け取ったOpenArgsの値を利用可能です。

レポートへパラメータを渡す具体例

最後に、レポートへパラメータを渡す処理の具体例をご紹介します。

以下の記事は、フォームの並べ替え結果をを引き継いで、レポートを並べ替えする処理をご紹介しています。
フォームの並べ替え設定である、Me.OrderByをDoCmd.OpenReport時にOpenArgsに格納し、一方でレポートを開く際にレポートのMe.OrderByにOpenArgsの値を入れることで実現しています。

フォームの結果を引き継いでレポートで並べ替えする方法

以上、レポートにパラメータを渡す方法をご紹介しました。


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

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

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

サービス一覧

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