<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 MS-Access97超入門>基本をマスターしよう
 DBTable1Table2Fom1Form2Form3Query1Query2Query3Query4Query5Query6Report1Report2Report3Macro



■Form2 : テーブルの内容を表示するフォームをにする

・・・わかってます。こんなフォーム作ったって、何にもならないですよね・・・。スミマセン。。。

今までのは序章です。これからが本番。
じゃあ、さっき作った[名簿テーブル]の内容を表示するフォームにしてみましょう。

プロパティシートを見ましょう。今、もしかしたら「ラベル」のプロパティを表示している状態かもしれないですね。
あるいは「詳細セクション」かな。。。

プロパティとは「属性」とか「詳細設定」とかいう意味の言葉だと思っていただければよいと思います。
フォームにはいろいろ細かい設定ができるようになってます。
難しい記述をしなくても、設定一覧をマウスでちょこちょこっといじるだけでできちゃうように工夫されてるんですね。
それがプロパティシートなんですね。

で、ラベルにも詳細な設定がいろいろできるようになってます。
つまり、プロパティシートの中には、今選んでいるものの設定項目が表示されるようになってるわけです。

フォーム全体のプロパティシートを表示させたい!!!というときは、フォームセレクタをクリックするとよいでしょう。
絶対フォームのプロパティ状態になります。フォームの左上の、ちょっとした四角ですね。

で、改めてプロパティシートをよく見ると、[書式][データ][イベント][その他][すべて]と書かれたタブが並んでると思います。
「データ」というところを見ると、一番上に「レコードソース」という欄があると思うんですけど、いかがでしょう。

レコードソースとは、このフォームが基にするオブジェクト(クエリーかテーブル)の名前を指定するプロパティです。
ここが空欄ということは、このフォームは特に何かデータを表示するためのものではなく、メニュー画面とか、そういう目的で作られたものだ、ということになります。
今は何もないですよね。練習の無地フォームですからね。

ここに、さっき作った[名簿テーブル]をエントリーしてみましょう。
横っちょにある▼印のボタンをクリックすると、クエリーとテーブルの一覧が出てくる仕組みになってます。
テーブルをふたつ作りましたんで、ふたつ参照できると思います。

でも、別に何の変化もないですよね・・・。変だな・・・。

次に、いったいどのフィールドの値を表示させたいのか、選ばないとイケマセン。

ツールバーに「フィールドリスト」というボタンがあります。
これをクリックすると、小さなウィンドウどこかに出てくると思うんですが、いかがでしょう。
[名簿テーブル]の中のフィールドの一覧が表示されるはずです。

このフィールドリストの中から、まず[学籍番号]をフォームの中にドラッグします。
もう、その言葉の通り、そのまんまドラッグします。
もし、フォームがちょっとせまいなーという場合は、下の図でいうところのきみどり色の線の部分を下にドラッグすれば、フォーム領域はすこーし広がります。
あんまり勢いよくドラッグしないようにね。そーっとそーっと。

同じ要領で、[氏名]や[かせぎ]などもドラッグしてきて、うまく配置しましょう。

フィールドリストからドラッグしてくると、同じような四角がふたつセットになって出てきますよね。
左側がラベル、右側の白い方がテキストボックスというやつになります。
主役はテキストボックスで、フォームビューに切り替えたとき、こっちの中にデータが表示されます。
でも、データだけじゃ、これって何だっけ??ってことになりかねないんで、気を利かせてラベルもセットで出してくれてる、という感じでとらえてください。

もうちょっと体裁よく出て来てくれるとありがたいんですけどね・・・。
まあ、相手はコンピュータですから、そういう期待は持たない方が無難でしょう。
テキストボックスの方の左上のハンドル(ひとつだけ大きいのがありますよね)をうまーくドラッグすると、テキストボックスだけ動かすことができるはずです。
うまく揃えられないといらいらしますけど、ゆっくり落ち着いて、そーっと配置を整えてください。

ぴしっと揃えるの、なかなか難しいんですけど、今日は練習ですから、とにかくいろいろ動かしていじって慣れちゃってください。

いろいろいじっててすっかり忘れてましたけど、ちゃんと保存しとかないと、突然停電なんか起こった日にゃ、逆ギレしそうですよね。
保存の仕方はテーブルのときと同じ。
閉じようとするとメッセージを出して保存を促してくれるし、自主的に「保存」のツールボタンをクリックしてもオッケーです。

名前は・・・どうしようかな。フォーム1じゃなんだし・・。じゃあ、[照会フォーム]とでもしましょうか。あんましかわんないか・・。

名前を付けて保存できたら、いったんフォーム閉じましょうか。
データベースウィンドウの中を見ると、フォームがひとつできたことになってますよね。

で、テーブルと同様に、

  ・この[照会フォーム]のデザインをまた変更したりしたいときは[デザイン]ボタンを、
  ・フォームビューを開いてちゃんと表示されるかどうか確認したいときは[開く]を(フォーム名をダブルクリックしてもOK)
  ・別のフォームを作り始めたいときは[新規作成]を

クリックします。


んじゃあ、そんなわけで、[照会フォーム]を開いてみましょう。

はははは。どうです〜???

・・・わけわかんないですね・・。なんだこのフォームは・・・。


フォームを開いたときは、通常「レコードソースに指定してるテーブルかクエリーの1件目のレコード」が表示されることになります。
で、1画面に1レコード分表示されることになるわけですね。

こんな風に、1画面1レコード分の表示をさせるフォームを「単票形式」なんて呼びます。

2件目を表示させたいときは、キーボードの[PageUp][PageDown]キーを使ってもよいし、フォーム左下にあるレコード移動ボタンを使ってもよいですね。
使ってみましょうか。移動ボタン。

と、マウスでこれらの小さいボタンをクリックすることで、フォームの中に表示されているレコードを移動させるということになります。
レコードの並び順は・・・[名簿テーブル]の主キーを[学籍番号]にしましたよね。学籍番号順に出てくることになります。
主キーのないテーブルなら、まあだいたい入力順に出てきます。

いろいろいじってみてください。

下のように、[照会フォーム]は実は、[名簿テーブル]の中のレコードを表示しているわけで、[照会フォーム]自体がデータを持っているわけじゃないんですね。
このあたり、すこーし意識してみてください。


では、[照会フォーム]をデザインビューに切り替えて、すこし手を加えてみましょう。
切り替え方は・・・オッケーですか?

まず、細かいとこをチョット確認しておきますね。
各テキストボックスのプロパティを見てみましょう。
「データ」プロパティのところを見ると、「コントロールソース」というプロパティがあると思います。
この欄に指定されているのは、[名簿テーブル]のフィールド名です。

ここでテーブルの中のフィールドとテキストボックスの中身が結びついているわけですね。
ここが変っちゃうと、テキストボックスの中身に学籍番号が出てこなくなっちゃいます。

なので、テーブルのフィールド名を後から変更すると、いろいろめんどうなのでフィールド名は変更しない方が無難です・・ということなんです。
まあ、例えば、フィールド名を[学籍番号]から[学生番号]に変更した後、このコントロールソースのところを替えてやれば済むことなんですけどね。


さて、では、フォームの体裁をチョットばかり変更しましょうか。まずはフォーム全体のプロパティを。
フォームセレクタをクリックして、フォーム全体のプロパティシートを出します。

で、書式のプロパティのところを見てみましょう。

レコードセレクタとスクロールバーというのがあると思います。
これ・・・多分、今のフォームのデザインだと要らないと思うんです。
「いいえ」もしくは「なし」にしましょう。いいからいいから。

あと、標題のところになんか入力しておくと、これがこのフォームのタイトルになります。ここも有効活用してください。


それから、と。[かせぎ]のフィールド、数値というか、金額っぽく表示させたいなと思います。

このまんま、[かせぎ]のテキストボックスをクリックすると、[かせぎ]のテキストボックスのプロパティシートに切り替わります。
で、書式のプロパティのところを見ましょう。

ここに無理矢理#,###円と入力します。円以外は半角です。
入力し終わると、円の周りにダブルコーテーションがつきますが気にしない気にしない。

あと、[成績]のテキストボックスの中身、真ん中に寄せようかな・・・。
[成績]のテキストボックスをクリックしてから、下のツールボタンをクリックします。

それと・・・。もう一個くらい。今度は学籍番号のテキストボックスをクリックして、「その他」のプロパティを見ましょう。
「漢字変換モード」っていう名前のプロパティがあると思うんですけど・・・。

[学籍番号]って、大概半角なんじゃないでしょうかね。
このテキストボックスにカーソルが入ったら、漢字変換の機能が自動的にオフになるようにしたいんですけどね。
チョットしたことですけど、入力の効率、あがると思いますよ。
同じ要領で、[成績]も、半角の入力だけできるように漢字変換モードをオフにしておきましょうか。


他にもいろいろ名プロパティがありますし、凝り出したらきりがないんですけど・・・まあこのくらいにしときましょうか。
フォームを閉じようとすると「保存します?」というメッセージが出てきますよね。保存しながら閉じましょう。

で、改めて[照会フォーム]を開いてみましょう。どうでしょう。。。さっきとどこが変ったか、違い分かります?

じゃあ、新規にこのフォームから1件、生徒の入力をしてみましょうか。レコード移動ボタンの「新規追加」ボタンをクリックします。
一番右端の、ウニみたいなボタンですね(ウニじゃないですけどね)。

どうでしょう。カーソルの動きと、漢字変換モードの切り替わりとか、そのへん確認しながら入力してみてください。
使い勝手はいかがですか?

で、最後のフィールドの入力後、[Enter]キーを押すと、次のレコード(新規レコード入力状態)になりますよね。
この辺の動きも確認しておいてください。

これは、フォームのプロパティの「Tabキー移動」というところで調節可能なんです。
フツウは「すべてのレコード」になってます。
だから、[Tab]とか[Enter]キーを押してカーソルをどんどん進めていくと、2レコードめ、3レコードめと、どんどんレコードが移動していきます。
これを「カレントレコード」にすると、次のレコードに移動せず、同じレコードの中でカーソルが行ったりきたりするわけなんです。

このプロパティも、いつかお役に立つかも・・・。こんな設定もあるんだよという感じで流しておいてくださいね。

ほんとにフォームのプロパティってあっちこっちにいろいろいっぱいあるんですけど、必要に応じてその都度覚えていけば十分でしょう。
ただ、「こんなことできないかなー」と思いついたことって、結構このプロパティシートの中で調節できたりします。
時々めくってみて研究しておくと、いろいろなところで役に立つと思いますよ。


いや〜。しかし、フォームって作るのたいへんですよね・・・。

・・・いやいや、実は、結構カンタンに作れちゃうんです。
じゃ、基本を押さえていただいたところで、もっとカンタンで日常的なフォームの作り方、行ってみましょう。