<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--基本操作を考える
データベース テーブル フォーム クエリー レポート マクロ&仕上げ
1 1 2 3 4 1 2 3 4 5 6 7 B 1 2 3 4 5 6  8 1 2 3 4 5 1 2 3 4 S



■フォームを作る 3■

では、改めまして・・・。
下の図のように、フォーム領域のどこかに、フィールドリスト内から、「社員番号」という文字のあたりをドラッグしてぽとっと落としてみましょう。
え?意味がわからない?とりあえず挑戦してみてください。いいから。

なんか・・・。「社員番号」っていう四角がふたっつ、できたんですけど・・・みなさんどうですか?
同じ要領で、「名前」と「所属」と「売上」と・・・・。とりあえずひとつずつ、ぽとぽととフォーム内にドラッグして落としてみてください。

適当に、フォームの領域は広げてくださいね。ウィンドウも大きく広げた方が作業はしやすいと思います。その辺はやりやすいように。

で、作業中に、

何も表示されなくなった!!!・・・なんてことのないように・・・。右端か、下部分のスクロールバーが、何かの拍子に動いたんだと思います。
これを一番上、もしくは一番左端に戻せばちゃんとフォーム領域は出てきますから、慌てず操作してくださいね。


なんでふたつも四角があるかというと・・・。
片方が、さっき使った「ラベル」で、片方が「テキストボックス」というやつになります。
でも、見ただけじゃどう違うのか、わかんないですよね。

ラベルは、さっきもお話した通り、文字を入力するための枠です。
テキストボックスとは、例えばテーブルの中のフィールドの値を表示したり、計算式の結果を表示したりと、どっかから値をとってきて表示するための枠です。
と、机の上でいくら違いをお話してもぴんとこないと思いますので・・・。ちょっとフォームビューに切り替えてみましょうか。

「社員テーブル」をレコードソース欄に選ぶ前と、どこが違うか、おわかりになりますか?もちろん、ずいぶん表示するものが増えてますけど・・・。

どうでしょう。よく見ると、「社員テーブルだわん」の中身の、1レコード目が表示されてること、おわかりいただけますか?
それと、ちらっと確認いただいた、画面の下部分の「レコード:」っていうところ・・・。一番右はしが「/13」ってなってます。
あ、みなさんは、数字が違うかもしれないですね。
これは、「社員テーブルだわん」の中に、今13件レコードがあって、そのうちの1件目を表示してますよ、っていう意味なんです。
ね、テーブルの中身を表示するフォームになったでしょう?

これ、「移動ボタン」っていいます。フォームには標準でかならずひとつつくようになってます。
もちろん、表示しないようにもできますし、もっと体裁のいいやつを工夫して作ることもできます。
でもいちおう、これが基本。今回はそれ以上のことは考えず、とにかく「テーブルとフォームがどういう関係にあるか」をしっかり理解してくださいね。
んじゃ、移動ボタン、ちょっと使ってみましょう。だいたいどれがどういう動きをするのか、わかりますよね。

左から、
 1レコード目に移動するボタン
 前のレコードに移動するボタン(現在のレコードが1レコード目の場合は動きなし)
 現在が何レコード目なのか表示する枠
 次のレコードに移動するボタン
 最後のレコードに移動するボタン
 新規にレコードを入力したい場合の、空レコードを要求するボタン

ちょっとわかりにくいですけど・・・。ようは、テーブルの中の1レコードを、フォームに表示させてるんですね。
でも、テーブル自体を開いているわけじゃないんですよ。
閉じてるテーブルの中から、こっそり値を取ってきてテキストボックスに表示してるんです。
こうやって、テーブルに直接値を入力するんじゃなくて、入力フォームや照会フォームを作って、それを通じて処理を組み立てるんですね。
このへん、うまくイメージしてみてください。
フォームとテーブルの役割の違いが見えないと、先々ちょっときついですよ。ゆっくり、いろいろ操作しながら、理解を深めていってください。


余談ですが、フォームの左端の黒い三角しるし・・・これは、テーブルの左端のグレーの部分とおなじものです。

「レコードセレクタ」といいます。

今の時点ではたいして重要なものでもないですけど・・・いちおう名前だけ。
んで、何に使うかといいますと、単に「レコードを選択するためのもの、場所」って考えてください。

フォームの方でも、テーブルでもいいんですけど、レコードセレクタ、クリックしてみてください。
色が濃くなって、ちょっとへっこんだような感じになると思います。テーブルの方だと、1レコード分選択できてる様子がわかると思います。
でー・・・じゃあ、具体的にどういう時使うかというと・・・。キーボードのDeleteキーを押してみてください。

物々しいメッセージが出ます。読んで字の如し。レコードを1件分削除する操作なのです。
ここが、表計算ソフトなんかと違うところ。
Accessのようなデータベースでは、レコード単位(厳密にはページ単位ですが)の処理をするということは、さっきお話しましたよね。即効削除されます。
[いいえ]をクリックすれば、何もしませんが・・・。[はい]の方クリックすると、

わたしはフォームの方のレコードセレクタをクリックして削除したので、こんな感じになりました。
テーブルのレコードセレクタの方で試した方は、きれいさっぱりなくなって行が詰まったと思います。
#Deleteって、エラーみたいになってますけど、これは「消えました」っていうしるしなのです。
残像みたいなもんですね。こういうのは、またおいおい補足していきますね。
後々のキーワードとしては、再クエリーっていう技術が必要になります。。。また後ほど。

5レコード目にあったアンガス・ヤングさんのデータは、この世からなくなりました。
別にアンガスに恨みはないんですが、まあ、練習ですから。ファンの方、気を悪くなさらないで。
「元に戻す」とかいう機能は働きません。ダイレクトに即効削除します。

レコードの移動ボタンのところ見ると・・・1件分件数が減ってますよね。すぐ反映されます。

Accessはこういうデータの扱いをするのです。
ちょっと見ると、「じゃあ間違って削除しちゃった場合はどうするの?」とか「使いにくそう」とか「不便」とか思う人もいるかもしれませんね。
でも、Accessは、どうあがいてもこういうデータの扱いをします。
これはわたしに文句言われてもどうしようもないんで・・・。
こういうことを理解した上で、誤操作のないようにうまく設計していくのが、わたしたちの仕事じゃありませんか。
このデータの扱い方によるメリットもたくさんあるはずですから、とにかく細かい操作にとらわれず、ざっくりと見ていきましょう。

この時点で「数字を3桁ずつカンマで区切るにはどうしたらいいの?」とか、細かいとこばかりに目が行ってしまうと、全体の「考え方」みたいなのが見えなくなっちゃいますから・・・。