FC2ブログ

生徒と家族の連携(その1)

  最後の宿題として『生徒の情報と家族の情報を一つの画面でまとめて入れたい。』というのがありました。今回はサブフォームを使って2つの画面を連携して入力する方法を学びます。

 まず最初にやらなければならないのは家族フォームを変更することです。現在のF_家族は規定のビュープロパティが『単票フォーム』になっていますが、このままだと連携した生徒番号フォームで複数の家族を入力していくのに不便です。ですので、規定のビューを『データシート』か『帳票フォーム』に変更する必要があります。データシートビューはテーブルを開いたときの標準の表示形式で特にデザインをしなくとも使えるので便利ですが、各コントロールが全てテキストボックスになり、表示だけであればいいのですが、コンボボックスとかチェックボックスとかのコントロールを使っていきたい場合は使用できません。又、細かな書式変更には対応できません。なので、ここでは帳票フォームを使い、自分でデザインをしていく事にします。

 下記にF_家族を帳票フォームにした場合のデザイン例を示します。

F_家族の帳票フォームのデザイン

 帳票フォームをデザインする時に気をつけるのは項目ラベルとデータのコントロールとの幅のバランスです。ラベルとコントロールは同じ幅にしないと当然見にくいし、ある程度テーブルの各項目の長さに合わせる必要があります。画面の幅もありますので、折り返して2段打ちにするとか、項目内でカーソルをスクロールさせるようにするとか、いろいろ工夫する余地はあります。実はいろいろこだわるとこの手のデザインに結構時間がかかります。

 生徒番号は親フォームとなるF_生徒番号に表示されますので、子フォームとなるF_家族には不要なので削除します。

 さてF_家族が完成したところで、連携作業に入ります。

 F_生徒番号にF_家族を連携する操作自体は簡単です。F_生徒番号をデザインで開いている状態で、下部の空白領域にF_家族をドラッグすれば子フォームとして組み込まれます。この2つのフォームを繋いでいるものは生徒番号なので、リンク親フィールドとリンク子フィールドのプロパティを『生徒番号』にします。(これはドラッグした時点でACCESSが自動的に設定してくれます。)

リンクフィールドのプロパティ

 ここで、家族番号の採番に関してテーマを移します。いちいち入力するのは大変なので自動採番にしたいので、生徒番号を採番したときのようにフォームの更新前処理で最終番号を取得して画面にセットする方法を取りたいと思うのですが、ここで一つ問題が出ました。当初の設計では家族番号は『生徒番号+連番(2桁)』としていました。ということは事前(採番する段階で)に生徒番号がわかっているという前提になります。

 しかし、生徒番号の新規登録の時の採番の仕方を思い出して下さい。フォームの更新前処理で最終番号+1を取得していました。更新前処理ということはフォームを閉じるときか、次のレコードに移るときに発生するイベントなので家族の情報を入力している時に、家族番号を同時に採番することは出来ません。

 事前に生徒番号を採番して画面に表示しておく方法であったならば、家族の情報の入力を始めた時点で生徒番号を付加した家族番号を表示することは可能です。

 いずれにせよ、作業を遡って修正する必要が出てきました。次回ではその変更案を考えてみます。
関連記事
スポンサーサイト



テーマ : データベース
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
全記事表示リンク

全ての記事を表示する

月別アーカイブ
カテゴリ
お問い合わせ
まずはこちらのフォームより御一報下さい。

名前:
メール:
件名:
本文:

検索フォーム
RSSリンクの表示
アクセスランキング
[ジャンルランキング]
コンピュータ
677位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
96位
アクセスランキングを見る>>
ブログランキング

FC2Blog Ranking