リンクユニット

Office 2019 Access 2019

フォームのオプションボタンでレポートのレコードソースを切り替え

投稿日:2020年6月7日 更新日:

1つのテーブルから、クエリを作成してデータを抽出することはよくあります。

そのクエリをもとにレポートを作成するとき、レポートのレコードソースでテーブルやクエリを指定します。

複数のクエリを作成してレポートを作成する場合、レポートのレイアウトがまったく同じであれば、フォームで表示したい内容(クエリ)を指定してレポートのレコードソースを切り替えることができます。

オブジェクトを増やしたくないというときは、おすすめです。

また、ここでは、クエリをもとにしたレポートで解説していますが、フォームの場合も同じように設定できます。

オプションボタンでレポートの内容を選択

参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。従来からAccessを使用している方に ...

続きを見る

テーブルの確認


サンプルとして以下のようなテーブルを使います。

社員情報として、勤務先が東京都と大阪府で分けて印刷したいとします。

テーブルのデータシートビュー

クエリの作成

テーブル[T_社員]をもとに、クエリ[Q_東京]を作成します。

以下は、[勤務先]が[東京都]のレコードを抽出するクエリのデザインビューです。

[抽出条件]に[東京都]を指定しています。

テーブルの[趣味]フィールドは不要なので、追加していません。

クエリのデザインビューで抽出条件を設定

同じように大阪のクエリ[Q_ 大阪]を作成します。

クエリのデザインビューで抽出条件を設定

すべてのレコードも印刷できるように、クエリ[Q_全社員]も作成します。

[趣味]フィールドのみ追加していません。

クエリのデザインビュー

レポートの作成

クエリをもとにレポートを作成します。

クエリ[Q_全社員]を選択して、[作成]タブの[レポート]グループにある[レポート]クリックして作成します。

ほかの方法でも構いません。ウィザードを使用して作成する方法は、以下の記事で解説しています。

レポートウィザードを使って表形式のレポートを作成

Accessのテーブルやクエリを基にレポートウィザードを使用してレポートを作成することができます。 ウィザードで作成した後、より見やすいレポ ...

続きを見る

[作成]タブの[レポート]グループにある[レポート]

レイアウトビューのまま、コントロールの幅などを調整して、レポートの[標題]などは、プロパティで変更します。

[デザイン]タブの[ツール]グループにある[プロパティシート]をクリックします。

プロパティは、キーボードから[F4]キーを押しても表示できます。

選択の種類が[レポート]になっていることを確認して[書式]タブの[標題]で変更します。

レポートのプロパティで標題を変更

[R_社員]という名前を付けて保存します。

レポートに名前を付けて保存

レポートのレコードソース

レポート[R_社員]をデザインビューで開いて、レポートのプロパティを表示します。

[データ]タブの[レコードソース]を確認すると、[Q_全社員]になっていると思います。

[データ]タブの[レコードソース]でレポートのレコードソースを確認

このプロパティの[レコードソース]を変更することで、レポートの内容を変更することができるわけです。

[レコードソース]の▼ボタンをクリックすると、作成済みのテーブルやクエリの情報が表示されると思います。

レポートのレイアウトが同じであれば、このレコードソースを切り替えるだけで、表示する内容を変更できます。

レコードソースの変更

ここでは、そのレポートのレコードソースの内容をフォームから指定しようとするものです。

フォームにオプショングループを作成

ここでは、[作成]タブの[フォーム]グループにある[空白のフォーム]をクリックして、空白のフォームを作成します。

[作成]タブの[フォーム]グループにある[空白のフォーム]

ここでは、コントロールウィザードを使用して作成します。

オプショングループの作成

[空白のフォーム]のボタンをクリックすると、レイアウトビューで表示されます。

フォームをデザインビューに切り替えて、[デザイン]タブの[コントロール]グループにある[オプショングループ]のボタンをクリックします。

この時、[コントロールウィザードの使用]がオンになっていることを確認します。

[デザイン]タブの[コントロール]グループにある[オプショングループ]のボタン

注意もし、[オプショングループ]が見つからない場合は、[レイアウトビュー]になっていると思います。

レイアウトビューのコントロール

[デザイン]タブの[表示]グループにある[表示]ボタンから[デザインビュー]を選択してください。

ステータスバーの右下のボタンでも切り替えができます。

デザインビューに切り替え

オプショングループウィザード

ドラッグすると、[オプショングループウィザード]が表示されます。

[オプショングループウィザード]の表示

ラベル名に、表示したい名前を入力していきます。

ここでは、[東京都][大阪府][すべて]と入力します。[次へ]のボタンをクリックします。

ラベル名の入力

既定のオプションを指定するか、しないかの設定になります。既定値とは、フォームを開いた時に選択されている値のことです。

ここでは、[次のオプションを既定にする]で[すべて]を選択します。

[次へ]をクリックします。

オプショングループの既定値の設定

割り当てられている値を確認して、[次へ]をクリックします。

値の確認

オプショングループに含めるコントロールと、スタイルを選択します。

ここでは、既定のままにします。

変更したい場合は、左側のプレビューで確認しながら選択してください。

オプショングループのスタイル選択

フレームの標題を入力します。

ここでは[どの情報が必要ですか?]とします。[完了]ボタンをクリックします。

オプショングループの標題を入力

フォームは、以下のようになっていると思います。

フォームのオプショングループ

フレームを選択して、フレームの名前を確認しておきます。ここでは、[フレーム0]となっています。

変更したい場合は、プロパティの[その他]タブの[名前]で変更してください。

フレームの名前を確認

参考トグルボタン(左)とチェックボックス(右)は、以下のような形になります。

トグルボタン(左)とチェックボックス(右)

また、オプションボタンの既定値は、フレームのプロパティで変更することができます。

プロパティの[データ]タブにある[既定値]で変更します。

オプショングループウィザードの[次のオプションを既定にする]で[すべて]を選択したので、ここでは既定値は[3]になっていますが、[東京都]に変更したい時は[1]、[大阪府]に変更したい時は[2]にします。

オプションボタンの既定値の変更

レポートを開くボタンの作成

レポートを開くためのボタンを作成します。

ここでは、ウィザードに沿って作成しますが、他の方法で作成しても構いません。

[デザイン]タブの[コントロール]グループから[ボタン]をクリックします。

[デザイン]タブの[コントロール]グループから[ボタン]

任意の位置でドラッグすると、[コマンドボタンウィザード]が表示されます。

[種類]から[レポートの操作]を選択して、[ボタンの操作]では[レポートのプレビュー]を選択します。

[次へ]をクリックします。

[種類]から[レポートの操作]と[ボタンの操作]では[レポートのプレビュー]を選択

レポートを選択します。

ここでは、1つですが、複数表示された場合は、間違えないように選択してください。

[次へ]をクリックします。

レポートの選択

コマンドボタンに表示する文字列かピクチャを選択します。

ここでは、[文字列]を選択して、ボタンに表示したい名前をテキストボックスに入力します。

ここでは[レポートのプレビュー]としています。

[次へ]をクリックします。

ボタンに表示する文字列を入力

ボタン名を入力します。ここでは、[印刷プレビュー]とします。

[完了]ボタンをクリックします。

ボタン名を入力

フォームにボタンが作成できました。

埋め込みマクロの修正

ボタンのプロパティの[イベント]タブを見ると、[クリック時]に[埋め込みマクロ]と表示されていると思います。

このままでもいいのですが、後から編集したりすることを考えて、ちょっと修正します。

[クリック時]の[...]ボタンをクリックします。

ボタンのクリック時イベント

以下のような画面が表示されて、[レポート名]に見慣れない文字が表示されていると思います。

この文字をすべて削除します。

レポート名を削除

削除すると、テキストボックスの右側に▼ボタンが表示されるので、クリックしてプルダウンメニューから[R_社員]を選択します。

この方が分かりやすいですね。

レポート名をプルダウンから選択

[マクロツール]の[閉じる]ボタンをクリックします。

メッセージウィンドウが表示されたら、[はい]をクリックします。

マクロを閉じる

参考このコマンドウィザードで作成した時の[埋め込みマクロ]については、以下の記事で解説しています。

コマンドボタンウィザードによるボタン作成後の[埋め込みマクロ]について

Accessでは、ウィザードを使用して簡単にボタンを作成することができます。 これについては、ウィザードを使ったコマンドボタンの作成で解説し ...

続きを見る

フォームビューに切り替えて、作成したボタンの動作を確認します。

コマンドボタンの動作確認

フォームは、大きさなどを調整して、名前を付けて保存します。ここでは、[F_選択]としています。

ナビゲーションウィンドウ

レポートを開く時のイベントプロシージャ

レポートをデザインビューで開きます。

レポートのプロパティを開いて、[イベント]タブの[開く時]の[...]ボタンをクリックします。

レポートの開く時のイベント

[ビルダーの選択]ウィンドウが表示されますので、[コードビルダー]を選択して[OK]ボタンをクリックします。

[ビルダーの選択]ウィンドウ

以下のVBEの画面が表示されます。

AcceddのVBE

以下の内容を入力します。

Select Case Forms!F_選択!フレーム0
Case 1
 RecordSource = "Q_東京社員"
Case 2
 RecordSource = "Q_大阪社員"
Case 3
 RecordSource = "Q_全社員"
End Select

以下のようになります。

参考どこのバージョンかは分かりませんが、[Me.]は入力しなくても動作するようになっています。

以下のようにしても構いませんし、動作しなかったら、[Me.]を追加してください。[Me.]は[自分自身の]という意味です。

[Me.]と入力すると、補助メニューが表示されるので、スペルなどのミスは少なくなると思います。

Me.RecordSource = "Q_東京社員"

入力したコード

これで完了です。

レポートを閉じて、フォームを開いて、動作を確認してみてください。

オプションボタンで[東京都]を選択すると、クエリ[Q_東京社員]の情報が表示されます。

オプションボタンで[大阪府]を選択すると、クエリ[Q_大阪社員]の情報が表示されます。

フォームを起動して動作を確認

レポートにラベルで見出しを挿入している場合

もし、レポートヘッダーにラベルを挿入している場合は、ラベルの内容も変更したいですね。

レポートのラベル

その場合は、開く時のイベントプロシージャに追記します。

プロパティを開いて、ラベルの名前を確認します。ここでは、ラベルの名前は[ラベル40]となっています。

ラベルの名前

開く時のイベントプロシージャに、コードを追加します。

Select Case Forms!F_選択!フレーム0
Case 1
  RecordSource = "Q_東京社員"
  ラベル40.Caption = "東京"

Case 2
  RecordSource = "Q_大阪社員"
  ラベル40.Caption = "大阪"

Case 3
 RecordSource = "Q_全社員"

End Select

変更後のコード

参考Accessでオプションボタンを作成する方法は、以下の記事でも解説しています。

オプショングループの作成と選択したデータの保存

Access2010でオプショングループを作成して、その選択データをテーブルに保存する方法です。 画像はAccess2010ですが、ほかのバ ...

続きを見る

サブフォームのソースオブジェクトの変更

サブフォームのソースオブジェクトを変更する方法です。 下のようなフォームを作成しています。 サブフォームの名前は、[受注サブフォーム]です。 ...

続きを見る

また、1つのフォームを作成して、開く時に参照用と編集用に切り替えて表示する方法も解説しています。これも、オブジェクトを増やさず済むので、データベースのサイズを気にするような場合はお勧めです。

フォームを参照用と編集用にボタンで切り替え(埋め込みマクロで設定)

Accessで1つのフォームを作成して、すべての内容を見せてレコードの編集ができるようにしています。 でも、そのフォームを開く時に制限を付け ...

続きを見る

Profile

執筆者/はま

もっと理解したいあなたへ

おすすめ記事と広告

-Office 2019 Access 2019

Copyright © 2001-2020 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2020 AllRights Reserved Powered by AFFINGER4.