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

 通常、レポートのレコードソースはプロパティ「レコードソース」で設定します。
このプロパティの設定をマクロで行うことで、1つのレポートで複数のテーブルや
クエリのデータを印刷することができます。

 ただし、テーブルやクエリのフィールド構成は同一のものに限られます。

●準備●

 同じフィールド構成のテーブルまたはクエリを2つ以上用意します。
 用意したテーブルまたはクエリをレコードソースにして、レポートを作成します。

 【サンプルとして使うオブジェクト】
    テーブル:商品テーブル
         新商品テーブル
    レポート:商品一覧表(商品テーブルをレコードソースにして作成)

●手順●

(1)マクロを新規作成します。

(2)アクション「レポートを開く」を選択して、引数「レポート名」に「商品一覧表」、
  引数「ビュー」に「デザインビュー」を指定します。
  
(3)次に、アクション「値の代入」を選択して、引数「アイテム」に
  「[Reports]![商品テーブル].[RecordSource]」、引数「式」に「"新商品テーブル"」
  と指定します。
  
(4)次に、アクション「レポートを開く」を選択して、引数「レポート名」に
  「商品一覧表」、引数「ビュー」に「印刷」を指定します。
  
(5)次に、アクション「閉じる」を選択して、引数「オブジェクト」に「レポート」、
  引数「オブジェクト名」に「商品一覧表」、引数「オブジェクトの保存」に
  「確認」を指定します。
  
(6)マクロを保存して実行すると、レポートが開かれ、印刷処理が行われた後に
  レポートが閉じられます。

●補足説明●

・手順(2)では、プロパティの変更を行うためにレポートをデザインビューで開いて
 います。
 
・デザインビューで開かれたレポートのレコードソースの変更は、手順(3)で行って
 います。
 
  引数「アイテム」に式を入力する場合は、引数「アイテム」をクリックした時に
  右側に表示される[ビルド]ボタン(...)をクリックして、式ビルダを利用すると
  便利です。

  式ビルダの左下ボックスで[レポート]−[すべてのレポート]−[商品一覧表]
  を選択し、中央ボックスで[<レポート>]、右下ボックスで[RecordSource]を選択して
  [貼り付け(P)]ボタンをクリックすると、上の式ボックスに式が表示されます。
  [OK]ボタンをクリックすると、引数「アイテム」に式が設定されます。 

・手順(5)で、引数「オブジェクトの保存」に「確認」を指定すると、
 「'商品一覧表'レポートの変更を保存しますか?」というメッセージボックスが
 表示されます。レコードソースを変更する場合は[はい(Y)]ボタンを、変更しない場合
 は[いいえ(N)]ボタンをクリックします。

Access97/2000



戻る


Excel Word Access VBA! モーグ