Microsoft Access Club >SampleFile >インデックス >このページ >次頁 < 前項  サイト内検索


サブフォームのソースオブジェクトを切替する方法:SampleFile117



Accessにはメインフォームにサブフォームを埋め込んで、1つのフォームで2通りのデータを表示させることができます。本格的なシステム作りには、このサブフォームは欠かせないものです。

サブフォームの種類

サブフォームは、リンク親フィールドとリンク子フィールドを用いたものと、ソースオブジェクトだけを用いた簡易なものと、2つに大別されます 。

今回は、後者の簡易なサブフォームにおいて、ソースオブジェクトを切り替えることで複数のデータを表示させる方法をご紹介します。

サンプルテーブルの作成

以下の手順で作成します。

  1. テーブルを4種類作成します。
  2. それぞれ tbl_sample_1〜tbl_sample_4と命名します。
  3. テーブルフィールドは、テキスト型フィールドを2個(取引先ID、取引先名)作成します。
    参考まで、tbl_sample_1テーブルの内容は以下のようになっています。
取引先ID 取引先名
13200 株式会社山陽建物販売
14205 株式会社甲陽商事
15303 株式会社南出物産

フォームの作成

以下の手順で作成します。

  1. サブフォームの作成は、Accessウィザードを用いて行います。
  2. 作成したサブフォームのプロパティを開きます。
  3. 「既定のビュー」をデータシートに設定します。
    これは、データシートビューはデータ表示に優れるからです。

  1. 非連結フォームであるメインフォームを作成します。
  2. メインフォームをデザインビューで開きます。
  3. 作成済みのサブフォームをメインフォームにドラッグします。
  4. メイン/サブフォームが完成しました。
メイン/サブフォームの改良

以下の手順で更に改良します。

  1. メインフォームをデザインビューで開きます。
  2. メインフォームに埋め込んだサブフォームのプロパティを表示させます。
  3. 下記のように設定を変更します。
  4. 手動でメイン/サブフォームを作成した場合、関連付けが必ず必要になります。

  1. メインフォームにオプションボタンを設置します。

  2. このオプションボタンを用いて、サブフォームのレコードソースを切り替えます。

オブジェクトの名前

オブジェクト名は以下のようになっています。

  • メインフォームは、frm_SampleMain
  • サブフォームは、frm_SampleSub
  • メインフォームにあるサブフォームは、Sub_フォーム
  • オプションフレームは、op_フレーム

レコードソース切り替えプロシージャの作成

オプションボタンの更新後処理イベントに下記のようなプロシージャを記述します。

Private Sub Op_フレーム_AfterUpdate()

    Select Case Me.op_フレーム

    Case 1
        Me.Sub_フォーム.SourceObject = "テーブル.tbl_sample_1"
    Case 2
        Me.Sub_フォーム.SourceObject = "テーブル.tbl_sample_2"
    Case 3
        Me.Sub_フォーム.SourceObject = "テーブル.tbl_sample_3"
    Case 4
        Me.Sub_フォーム.SourceObject = "テーブル.tbl_sample_4"
    End Select

End Sub
解説
  1. Select Caseステートメントを用いて条件を分岐させています。プロシージャ自体は難しくありません。

関連ページ

ページの先頭へ 前ページへ戻る

 


サブフォームのソースオブジェクトを切替する方法:SampleFile117


 

-Microsoft Access Club-