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



16.いろいろなプロパティ

テキストボックスにカーソル置いて、EnterキーTabキーをぱしぱし押してると、順番にカーソルが移動していきますよね。
基本的にこの順番は、「このフォームに作られた順番」で移動します。
つまり、一番最初に作ったテキストボックスから、2番目3番目・・・と移動していきます。だから、作り方のコツとしては、「こういう順番で入力していったら楽だし分かりやすい」という順番で、テキストボックスを作っていくのです。

今回のように、オートフォームなんかいう機能を使うと、テキストボックスは自動的にできちゃいますが、そういう場合は「テーブルもしくはクエリの中でのフィールドの並び順」が基準になります。今回の場合、「社員テーブル」を基にしてますんで、社員テーブルを作ったときの、フィールドを作った順番です。っていうか、まあ、上から順番、ってことですけどね。

だから、ふつうにカーソルを移動させると、社員番号→名前→部署名→時給→入社年月日→・・・という順番になるはずです。ちょっと確かめてみましょうか。何回かEnterキーかTabキーを押してみてください。
あっ・・・。

データが消えちゃった!!!
調子こいてガンガン押してたら、なんか消えちゃったぞ・・・。って、別に消えたわけではゴザイマセン
次のレコードに移動したのでございます。

次のレコードっていったって、今入力しているのが一番下のレコードなんで、次は、新規に入力するための空欄でございますゆえこのような表示になりましたのでございまする(壊)。
一番下のところを見ると、18って数字が出てます。17件目を入力してて、どんどんEnterキーを押してったので、18件目にカーソルが移動したのですね。
と、これって、「万歩計システム」にチャレンジ済みの方は、すでにご存知ですよね。ね。

この辺も含めて、カーソルの移動の順番について考えてみましょう。
んでは、デザインビューに切り替えてください。
左上の青い三角定規の・・・と、切り替え方は、もうオッケーですか?

まず先に、1箇所、「EnterキーとかTabキーで、カーソルが移動する範囲を限定するプロパティ」を見てみましょう。
フォーム全体のプロパティを見てみてください。
「その他」っていうところに、Tabキー移動っていうプロパティがあるでしょ。

これがまさにそれなんですが、デフォルトは「すべてのレコード」ってなってるんですよ。
だから、次のレコードに移動しちゃうんです。
そこでこのプロパティを「カレントレコード」にしてやれば(このフォームは小さいですから1画面に収まりきれてるんでカレントページでも同じだろうと思いますが)、移動しなくなります。
でも逆に、ガンガン入力したいときは、移動したほうがいい場合もありますよね。
状況に応じて使い分けが必要だと思いますが、このプロパティの存在を知っておいて損はなさそうですよね。
じゃあ今日は「カレントレコード」にしましょうか。
「カレント」っていうのは「現行の」っていう意味ですんで、今表示しているレコードって解釈していいと思いますよ。



では次に、カーソルの移動の順番を指定する設定を見てみましょう。
これは、メニューバーの[表示]→[タブオーダー]で設定します。
ここに書いてある順番で、カーソルが移動します。必要なら入れ替えをしてやればいいわけです。
左端のセレクタをうまいことドラッグすれば、順番が入れ替わりますので、ちょっと試してみてください。
まあ、今日は練習ですから、適当に入れ替えてどんな感じになるか確かめてみてくださいね。

ただ、これで総入れ替えするのはすごく面倒なので、できるだけ、入力の順番とかも考慮して、テーブルやクエリを作るのがいいですね。テーブルは大体一番最初にこしらえますけど、データベース全体を見渡せないうちは設計できないもんなんですよ。難しいトコです。

んではついでに、さっき見た「フォームのプロパティ」ってところ、もう一度見ておきましょう。

いろんな項目がありますよねぇ。これ、全部、「このフォームの設定」なんです。
だから、フォーム全体のことならたいがい、このプロパティシートの中に設定項目があるはずなんです。

難しいのもいっぱいありますんで、とりあえず「書式」っていうところあたりから、眺めていかれるといいのではないかと思いますよ。
この中に、「スクロールバー」「レコードセレクタ」「移動ボタン」「自動中央寄せ」なんてのがありますけれども、これはどういうものなのかと申しますと・・・。こういうものを、表示するか非表示にするか、という設定です。

さらに、タイトルバー上の「閉じるボタン」や「最小化、最大化ボタン」などを非表示にするプロパティや、タイトルバーの左上に出てくる「コントロールメニュー」を非表示にするための「コントロールボックス」なんていうプロパティもありますね。

でも、閉じるボタンとかコントロールボックスとかこの辺のプロパティを先にいじっちゃうと、デザインの変更の作業がやりにくくなりそうな気もするんで、ほかのプロパティとかテキストボックスの位置とかの調整が一通り済んで、「うん、これでこのフォームはおおかた完成かな?」ってなったら、最後に調節したほうがいいかもしれませんね。

さらに、このフォームを開いたとき、画面の真中に出すかどうかは、「自動中央寄せ」っていうプロパティをを設定します。
ウィザードとかオートフォームでフォーム作ると、なぜか必ず「自動中央寄せ」になってるんですけどね。
これは、お好みかな・・・。
でもちっさいフォームだと、拾い画面の真中にぽつんと出るのもなんか寂しいので、フォームの大きさや用途に合わせて、この辺のプロパティを使い分けていくといいかもしれないです。私はだいたい「いいえ」にしちゃいますね。このプロパティは。
でもこれはほんとに、お好みですんで、とりあえずこんなプロパティもあるんだなというくらいに思っておいてください。

他には・・・あと、承知しておくと便利そうなのが、書式プロパティの中の「標題」っていうやつ。
ここに入力されている文字が、フォームのタイトルバーのところに出てきます。
オートフォームなんかでフォーム作ると、テーブル名がそのまま表示されて味気ないですから、なんか気の利いたのに変えるといいかもわかんないです。今、フォームのタイトルバーのところ、「社員テーブル」ってなってると思うんですけど、これがいわゆる「標題」ですね。「社員入力」とか、フォーム名と同じにしておくとか、「社員の情報を入力してください」みたいなメッセージっぽくするとか、いろいろ工夫してみてください。

と、こういうのが、フォーム全体の書式のプロパティですね。
ほかにもありますけど、また徐々に理解を深めていってくださいね。

そしたら次に、テキストボックスの書式についてみてみましょうか。
テキストボックスにも同じように、いろんな設定項目があって、プロパティシートの中にまとまってます。
まずは、「入社年月日」の書式プロパティを見てみましょうか。
プロパティシートの上のリストのところで切り替えができますので、「入社年月日」を選びましょう。

ラベルじゃないですよ。
テキストボックスの操作をしたいので、「ラベル」ってついてないほうを選んでくださいね。

ちょっとだけ横道にそれますが、テキストボックス関係でよくある質問の中に、
「テキストボックスの右側になんか変なのが出てきちゃうんですけど」
っていうのが、よくあるんですよ。

これは、スクロールバーなんです。ちっさいけど。

そのテキストボックスの書式プロパティの「スクロールバー」「あり」になってると、出ます。「なし」にすれば出ません。
ウィザードやオートフォームでフォームを作ると、勝手にスクロールバーがついちゃう場合もありますから、このプロパティの存在は知っておいたほうがいいかもしれません。

では、本筋に話を戻しまして・・・。
日付の書式のお話です。

数値や日付のときは特に、この「書式プロパティ」というところの「書式」に気をつけたほうがよいですね。
この場合の書式とは、「テキストボックスの中に表示する予定の、各フィールドの中のデータをどのような形式で表示させるか」ということを指定するということなんですけども、リストを見てみるといろんなパターンが用意されてます。

変更して、フォームビューに切り替えて、どう変わるか試してみてください。
多分、日付の表示のさせ方にいろいろな変化が生じると思います。
必要に応じて、入社年月日のテキストボックスの大きさなどは調節してくださいね。

また、無理やり自分で書式を作っちゃうなんてことも可能です。
ちょっとコツがいりますが・・・。

日付時刻型のフィールドの場合、Yが年、mが月、dが日、hが時間、nが分、sが秒を表します。yyyyなら西暦4桁、yyなら西暦の下二桁のみ、mなら1、2、3・・・、mmなら01、02、03・・・という具合に、各部分をどう表記するか指定してやります。
和暦にしたいときは、yyyyじゃなくてgggeとします。

これで和暦表示になりますよ。
Enterキーを押したりして入力が完了すると自動的に¥がつきますが、まあそれはあまり気にしないで、MS-Accessにお任せしましょう。

ここで混乱してしまってはいけませんですよ。これはあくまでも「書式」です。「表示形式」なのです。
日付時刻型のフィールドがどのような値を持つか、以前お話しましたよね。
「2002/1/15」と、「にせんにすらっしゅいちすらっしゅじゅうご」という数字が入力されているわけではないのです。だからこそ、こうやって「書式」という考え方で柔軟に「表示形式」を変更することができるんです。

ですので、入力するときはあくまでも、2002/1/15 という入力の仕方をしなければなりません。2002/1/15を、和暦で表示しなさいという意味のプロパティですからね。
13/1/15と、入力も和暦にしたいという場合は、これは残念ながらMS-Access以前にWindows全体の設定を操作しなくてはならないです。(コントロールパネルの地域の設定のところですが、当然、ここを操作するということは他のソフトでも和暦になるわけで、そう考えるとあまりお勧めじゃないかなと思います)
もちろん、いろいろ作りこめば何とかなるかもわかりませんが、入力時は西暦で入力するとオペレーションを徹底するのが一番手っ取り早いかなという気がします。

他にもいろんな書式プロパティがあるので、いろいろと研究してみてください。
そのプロパティにカーソルを置いた状態でF1キーを押せばヘルプが出てきますんで、これはよく使うかもな・・・って感じのプロパティがあったら、ひとつふたつメモっておくといいかもしれません。

まあ、使うときになったらプロパティの中を探せばいいんですから、覚える必要はないですけども・・・気になるのがあったら調べておくとよいでしょう。いやーでもしかし、いっぱいありますよねぇ。これをすべて使いこなすなんて、気が遠くなりそうです。
だから、「丸暗記しなくちゃ」なんて、思っちゃだめですよ。MS-Accessみたいなソフトは、使い方を暗記しようと思ったらその時点でつぶれます。「こういうフォームを作りたい」「こういうクエリにしたい」「こういう仕組みを作りたい」と、大まかな目的をまず持って、その目的を実現するためのプロパティを探していく・・・という発想で向き合いましょう。
多分そのほうが、効率よく習得できるんじゃないかなって思います。