トップ > Access2007目次 > 「試験マスター」を追加する
1)2)3)4)5)6)7)

「試験マスター」を追加する

テストごとの点数の集計は、「実施日」でまとめればいいかなと思っていたんですが、ごくごく例外ではありますが、必ずしも全員が同じ日に受けるとは限らないようです。それに、ずっと後になってデータの入力をする可能性もありますから、「実施日」を間違えて入力してしまう可能性もあります。
となると、「実施日」以外に、点数をまとめるための方法を考えておいたほうがよさそうです。

こういうところがデータベース設計の腕の見せ所になるんですが、どうしましょうかね・・・。
今回は「実施日」の代わりに、テストの名称を入力できるようにしておきましょうか。年間通して、試験の実施スケジュールはだいたい決まっていますので、予め、今年実施される予定のテストの情報を入れておくテーブルを用意しようと思います。
名前は、「試験マスター」とでもしておきましょうか。

 

1「試験マスター」テーブルを作成する

操作中テーブルを新規に作成します。
図1:左上の、ほら

 

操作中1列目は「試験コード」。これが主キーになります。

「試験番号」のがよかったかな・・・。
名前はある程度統一したほうがいいんですよね。
まあいいや。
図2:試験コード

 

操作中データ型はテキスト型に変更してください。

何かしら数字が付けばいいのならオートナンバー型のままでもいいのですが、今回はちょっと意味のある番号を持たせようと思うので、英字や記号も入力できるよう、テキスト型にしておきましょう。
A-001とか。なんかかっこいいし。試験っぽい。
図3:テキスト型にしておこう

 

操作中後は、

「試験名」 : テキスト型
「実施日」 : 日付/時刻型

という感じで、フィールドを全部で3つ設けます。
「実施日」はオマケです。にぎやかしで。雰囲気です。
なくてもいいですよ。
図4:「実施日」は今回は特に使わないので、なくてもいいですよ

 

操作中「試験マスター」という名前をつけて保存します。保存は、左上の、フロッピーディスクの絵柄の・・・。

保存できたら、今年実施予定のテストの情報を入れておきましょう。
適当でいいですよ。今日は練習ですからね。
ただ、5~6件あったほうが雰囲気出ます。
図5:適当にデータ入れておいて

 

2「成績テーブル」も手直し

操作中次に、メインとなる「成績テーブル」を修正します。デザインビューで開いてください。

やり方としては二通りあるんですが・・・。「試験コード」フィールドを追加するか、「実施日」フィールドを「試験コード」に置き換えるか、なんですけどね。
「実施日」も必要だ、という場合は前者ですね。
今日は・・・置き換えちゃいましょう。
図6:「試験マスター」に合わせて「成績テーブル」も微調整

 

操作中データ型も、日付時刻のままじゃアレなので、テキスト型に変更してください。
図7:「試験コード」はテキスト型にしたんだもんね

 

操作中せっかくなので、「ルックアップ」の設定もやりましょうか。
右の図を参考にしていただいて、「試験マスター」のデータを参照できるようにしてみてください。
列幅などは、後で微調整しますので、適当な幅でいいですよ。

今まで使ったことのないプロパティを使ってみましょうか。「入力チェック」っていうプロパティがあるんですが、これも結構有効なプロパティなんですよ。
これを「はい」にすると、「試験マスター」の中身以外の試験コードの入力ができなくなります。

変な入力を避けるため、データの精度を上げるのに一役買ってくれるんです。テストごとの点数の集計をより正確に行うために「試験マスター」を作ったのに、「試験マスター」に無い試験コード入力しちゃったら、意味ないですもんね。
図8:入力チェーーーック

 

操作中テーブルを保存し、データシートビューに切り替えてテストしましょう。

「試験コード」の一覧を開くと、「試験マスター」の一覧から選択することができますか?
クリックして ぴろっ出してみてください。
図9:ぴろっとな

 

操作中ご名答です・・・。「試験コード」、入力しなおしてください・・・。

一覧から選べばいいから、すぐできますよね。
適当でいいですから。適当で。
段取り悪くて すいません。。。
図10:また入力しなおしかよ!

 

3「成績照会サブフォーム」も手直し

操作中久しぶりに「成績照会フォーム」を開いてみたら・・・ギャーーー!!なんか変な表示になってる!!

そうなんですよね。
「実施日」フィールド、置き換えちゃいましたからね。既に存在しないフィールドの値を表示しようとして、「ないよ?」と言っているんです。#Name?って。欧米か。
どっちにしてもここは修正しないとならないところなので、サブフォーム部分を手直ししましょう。

操作中「成績照会フォーム」はいったん閉じてください。
図11:#Nameは、「このデータベースの中に見つからないよ」という意味の叫び

 

操作中「成績照会サブフォーム」をデザインビューで開きましょう。

こういう操作はもう皆さん、慣れちゃいましたよね。いちち書かなくてもいいかな・・・。

だんだんねぇ、うっとおしがられるんですよ。「いちいち書かなくてもわかるからさっさと先に進めろよ!」とか言われることもあってねぇ。かといって「ここの説明は文章だけでいいかな」と思って図を省くと文句言われることもあって、なかなか難しいんスよ。。。いろいろ変化と抑揚をつけてみたりしてるんですけどね。。。
図12:「成績照会サブフォーム」をデザインビューで開くという流れ

 

と、ぐちぐちはそこまでにして、さあ、もう一息、私もがんばりますよーーー!!

データシート形式のフォームのデザインビューはこんな感じなんです。なんか変ですねぇ。私も最初はこれ見てびっくりしましたよ。「ええっ、データシートにしたはずなのに、何これ!!」って。でも、こんなもんなんです。

操作中「実施日」テキストボックスをクリックして選択しましょう。ラベルじゃなくて、テキストボックスのほうですよ。なんか、びっくりマーク的なものが表示されてます?
図13:「実施日」テキストボックスのほうをクリックだ

 

操作中右の図を参考にしていただきながら、プロパティシートを表示させてください。
図14:「実施日」テキストボックスのプロパティシートを見たい

 

操作中「コントロールソース」というプロパティを探してください。

このプロパティは「データ」というタブの中にあるんですが、見つけにくい場合は右図のように「すべて」タブをクリックしてがんばって探せば、全てのプロパティを見ることができます。

コントロールソースとは、”このテキストボックスに表示されるもの”のことです。今回は、「成績テーブル」の中のフィールドのどれか、ということになりますね。

操作中一覧から選ぶことができるようになっているので、「試験コード」フィールドを選んでください。
図15:このテキストボックスのコントロールソースは「試験コード」

 

操作中ついでに、このテキストボックスの名前も、「実施日」から「試験コード」に変えておきましょう。

「実施日」のままでも問題ないのですが、ややこしいので、コントロールソースを変えたら、揃えておいたほうがいいですよ。テキストボックスの名前って、重要になることもあるんで。
図16:名前も同じにしておいたほうがいいよ

 

操作中ラベルも書き換えておきましょう。”実施日”のままじゃややこしいですもんね。
図17:ラベルも書き換えておこう

 

操作中やっぱり、”試験コード”がいいかな。

単純に”試験”とか、”試験名”とかでもいいかもしれません。後でまた変えてもいいですから、とりあえず”試験コード”って入力しといてください。
図18:試験コードかな

 

操作中ラベルにも名前が付いてるんですよ。プロパティを見てみてください。
たぶん、今は、「実施日_ラベル」という名前が付いていると思います。
これを変更しましょう。

もう、察しが付いている方もいらっしゃるかもしれませんが、このフォームの中で、同じ名前を使うことはできないんですよ。例え、ラベルとテキストボックスという種類の違いはあっても、同じ名前は使えないので、ラベルのほうには「○○_ラベル」という名前が付くようになってるんですね。
図19:実施日じゃなくて試験コードだもんな

 

操作中もう、”試験コード”という名前は、お隣のテキストボックスにつけちゃってあるんで使えないので、”試験コードラベル”とか、”試験コード_ラベル”とか、つけましょう。

コントロールの名前には、アンダースコア _ を使うことがありますが、それ以外の記号は用いないほうがいいみたいですね。記号にはそれぞれ、意味がありますからね。名前にはあんまり使わないほうがいいんですよ。
図20:試験コードのラベルってわかりやすく。

 

操作中さらについでに、「試験コード」をテキストボックスからコンボボックスに変えます。

新「試験コード」テキストボックスを右クリックして、「コントロールの種類の変更」→「コンボボックス」と選択していきます。
図21:コンボに変更

 

操作中コンボボックスに変更したら、いろいろコマゴマとしたプロパティの設定が必要ですね。
まず、「値集合ソース」は、言わずと知れた「試験マスター」です。
図22:これを忘れちゃなんねぇ

 

操作中後は適当に、コンボボックスの見てくれの設定をしましょう。
適当でいいですよ、適当で。
図23:後は適当に

 

「成績照会サブフォーム」の修正は以上で終わりにします。細かい作業が続きましたねー。一息入れてください。
フォームを保存し、閉じましょう。
後で、 「成績照会フォーム」のほうを開いて確認しておいてください。

このページのまとめなど

  • テーブルの追加やフィールドの変更は、後からでも可能。どこに影響が出るか理解しておこう。
  • フォームの表示テストは何度も繰り返し念入りに。あれこれ使っているうちにヘンなところが見つかることも。
  • ラベルやテキストボックスの”名前”にも気を配ろう。
  • ”コントロールソース”とは、そのコントロールに表示するもののこと。
Next Step!!!
作成日:2009-01-09

コピーライト