- アクセスHome
- 基礎から学ぶHome
- サブフォームを持つフォーム
サブフォームを持つフォーム
ここで学ぶこと
@サブフォームを使うメリットについて
Aサブフォームを使用したフォームの作り方について
1.サブフォームについて
フォームの中に他のフォームを組み込む方法です。この仕組みを使うと一つのレコードを表示する単票式フォームに関係する情報一覧
(個人履歴、連絡記録など)を表示することができます。メインフォームのレコードが変わると、伴ってサブフォームの内容も変化します。
テーブルのリンク機能を利用した技術で、データベースシステムの醍醐味です。
2.作り方(手順)
(1)テーブルの準備
メインフォームに使用するテーブルとサブフォームに使用するテーブルが必要です。次の二つのテーブルを用意します。
- メインフォームに使用するテーブル[T_名簿]
- サブフォームに使用するテーブル[T_履歴]
- 二つのテーブル間にリレーションシップを作る。結合フィールドは[T_名簿]の番号と[T_履歴]の会員IDです。
※リレーションシップの作り方はテーブル編の「テーブルの分離とリレーションシップ」の項を参照してください。
(2)単票フォームとサブフォームの二つのフォームを作成
- [T_名簿]テーブルを元にメインフォームとなる単票フォームを作成する。不要なフィールドは削除した。名前を[F_名簿メイン]とつけて保存する。
- テーブル[T_履歴]を基にしてサブフォーム用の表形式フォームを作成する。実用面では[番号]と[会員ID]のフィールドは表示する必要
はない(番号はオートナンバーであり見えなくとも良い、また会員IDはメインフォームと同じとなる理由で)。従って、デザインビュー
に切り替えして「可視」プロパティを「いいえ」にして非表示にする。左に余白が出てしまうので、残ったフィールドは左に位置を移す。
- デザイン修正したフォームはこうなる。デザイン修正したフォームはこうなる。フォームを保存する。名前は[SF_履歴]とする。
- フォーム[SF_履歴]のプロパティは次のように設定している。サブフォームとして使うために移動ボタン等を非表示にしシンプルにしてある。
(3)メインフォームにサブフォームを組み込む
- メインフォームをデザインビューで表示し、ツールボックスのコンとトールウイザードを「ON」にした状態で、「サブフォーム/サブレポート」コントロールを選択し、メインとなるフォーム上でクリックする。
サブフォームのコントロールウイザード画面が出たら、案内に沿って進める。
- 既存のフォームから[SF_履歴]を選択し、「次へ」。
- リンクする方法は「独自に設定する」を選び、メインフォームに[T_名簿]の主キー[番号]を、サブフォームに[T_会員ID]を設定する。「次へ」
- 名前はそのままで「完了」する。
- メインフォームにサブフォームが追加された。大きさや位置は調整しよう。
- フォームビューに切り替えた。メインフォームおよびサブフォームの出来事を入力してみよう。メインフォームのレコードによって切り替わることが分かる。
(この項終わり)