<HOME  <お願い事項  <Access2000 TOP   <Access97 TOP   <サイト内検索
 MS-Access2002チョ〜入門部屋>基本をマスターしよう
  (←別ウィンドウでサブメニュー)



14.フォームとテーブルの関係

といっても、これだけじゃなんだか、わかりにくいですよねぇ。
じゃあもう一度、デザインビューに戻ってください。

このテキストボックスに、さっきの「社員テーブル」に入力した社員の名前を表示するにはどうしたらいいんでしょう。
いろいろな考え方があるんですが、一番一般的なのは「このフォームを、社員テーブルの内容を表示するためのフォームにする」ということです。

やってみましょう。
まず、フォーム全体のプロパティを出したいんですよ。
プロパティの上のほうのリストの表示を「フォーム」に切り替えてみましょう。

フォーム全体のプロパティ」になったところで、やっぱり「データ」っていうところを見てみましょう。

この中の「レコードソース」っていうところが、「このフォームに表示するクエリかテーブル名」を選ぶところです。
これで、このフォームは、「社員テーブルのレコードを表示するためのフォーム」になります。

そしたら再び、「テキスト2」のプロパティにします。

「データ」っていうところにある、「コントロールソース」、今はDate関数が入ってますけど、リストから「名前」を選びましょう。
このリスト、なんだかわかりますよね。「社員テーブル」の中のフィールド名の一覧です。

じゃあ、フォームビューに切り替えてみましょうか。

どうでしょう。
テーブル作ったときに、1件目に入力したレコードが、表示されてます?
フォームとテーブル(またはクエリ)は、こういうつながりを持ってるんですね。
逆に、今挙げた「レコードソース」「コントロールソース」の指定が正しくなければ、テキストボックスには思ったような値が出てこないんです。とっても大切なんですよ。みんな「名前」で結びつきあってるんです。

ついでに、上の図で赤いしるしをつけたところに注目してください。
わたしのは16っていう数字が出てるんですけど、皆さんの画面はどうですか?
これはですねぇ。。。「社員テーブルには現在どうやら16件のレコードが入ってますよ」っていう意味なんです。

で、右向きの三角しるしボタンをクリックすると・・・。

そう、2レコード目に移動する、っていう動作になるんです。
左向き、右向きのボタン、ちょっとクリックしてみてください。
テキストボックスの中身、変わりますよね。



んじゃあ、「ラベル」の表記も、「テキスト2」じゃなくて、「社員名」とか「名前」とかに変えましょうか。
せっかく名前を表示できるようになったんだから・・・。
ちょっと乱暴かもわかんないですが、ダブルクリックすればラベルの中にカーソルが現れます。

まあ、何か適当なものに書き換えてください。
ついでに、今度はテキストボックスのほうなんですけど、これをもうちょっとラベルに近づけたいなって思うんです。
今、なんか離れてます。皆さんのはどうですか?
基本的にテキストボックスっていつもラベルと対になってるんで、普通に動かすとラベルも一緒に動いちゃいますよね。
テキストボックスだけ動かしたいときは・・・。

ひとつだけサイズの違う、右上のハンドルをドラッグします。
人差し指でさしてるような形のマウスポインタになりますので、その形を確認しながらそっとそっとドラッグしましょう。

わたしは、こんな感じで寄せてみました。



そしたら、社員番号とか時給とかの情報も、このフォームに表示させたいですよね。
よっしゃ、やりましょう。

「フォームとテーブルの関連」がしっかりできちゃえば、後は簡単なんですよ。
ツールバーの「フィールドリスト」というボタンをクリックしてみてください。

このボタンなんですが↑

そうすると、「フィールドリスト」っていうやつが、画面のどこかに出てくるはずです。

フィールドリストから、「社員番号」を、フォームのどこかにドラッグしてきましょう。ポトンと落とす感じ。

出ました?
同じ要領で、ほかのフィールドも全部フォーム上に表示させてみましょう。
フォームが狭いようなら、広げてみて。広げ方、覚えてます?んもーこういうのは感覚で覚えちゃってくださいよ。
下の図の、赤い線のところをドラッグすれば、広がりましたよね。↓

全部ドラッグできたら、フォームビューと切り替えながら、位置や大きさなどを整えましょう。
慣れないと、なかなかそろえられなくていらいらしちゃうかもわからないですが、これはこれでコツがあるものなので、とりあえず雰囲気だけでも慣れてしまってくださいね。

わたしはこんなふうにしてみました↓