HOME > 即効テクニック > Access一般機能 > フォーム・レポート > マクロを使ってレポートのレコードソースを変更する

即効テクニック

フォーム・レポート

マクロを使ってレポートのレコードソースを変更する

(Access 97/2000)
●詳細●
通常、レポートのレコードソースはプロパティ「レコードソース」で設定します。
このプロパティの設定をマクロで行うことで、1つのレポートで複数のテーブルやクエリのデータを印刷することができます。
ただし、テーブルやクエリのフィールド構成は同一のものに限られます。

●準備●
同じフィールド構成のテーブルまたはクエリを2つ以上用意します。
用意したテーブルまたはクエリをレコードソースにして、レポートを作成します。
【サンプルとして使うオブジェクト】
テーブル:商品テーブル
     新商品テーブル
レポート:商品一覧表(商品テーブルをレコードソースにして作成)

●手順●
  1. マクロを新規作成します。
  2. アクション「レポートを開く」を選択して、引数「レポート名」に「商品一覧表」、引数「ビュー」に「デザインビュー」を指定します。
  3. 次に、アクション「値の代入」を選択して、引数「アイテム」に「[Reports]![商品テーブル].[RecordSource]」、引数「式」に「"新商品テーブル"」と指定します。
  4. 次に、アクション「レポートを開く」を選択して、引数「レポート名」に「商品一覧表」、引数「ビュー」に「印刷」を指定します。
  5. 次に、アクション「閉じる」を選択して、引数「オブジェクト」に「レポート」、引数「オブジェクト名」に「商品一覧表」、引数「オブジェクトの保存」に「確認」を指定します。
  6. マクロを保存して実行すると、レポートが開かれ、印刷処理が行われた後にレポートが閉じられます。 マクロの設定
●補足説明●
  • 手順(2)では、プロパティの変更を行うためにレポートをデザインビューで開いています。
  • デザインビューで開かれたレポートのレコードソースの変更は、手順(3)で行っています。 引数「アイテム」に式を入力する場合は、引数「アイテム」をクリックした時に右側に表示される[ビルド]ボタン(...)をクリックして、式ビルダを利用すると便利です。式ビルダの左下ボックスで[レポート]−[すべてのレポート]−[商品一覧表]を選択し、中央ボックスで[<レポート>]、右下ボックスで[RecordSource]を選択して[貼り付け(P)]ボタンをクリックすると、上の式ボックスに式が表示されます。[OK]ボタンをクリックすると、引数「アイテム」に式が設定されます。
  • 手順(5)で、引数「オブジェクトの保存」に「確認」を指定すると、「'商品一覧表'レポートの変更を保存しますか?」というメッセージボックスが表示されます。レコードソースを変更する場合は[はい(Y)]ボタンを、変更しない場合は[いいえ(N)]ボタンをクリックします。