4) フォームを作る
このデータベース作りの中でお話したかったことはこれで全部なんです。
でも、フォームをひとつも作らないデータベースってのもなんとなくシマリがないかなぁと思いまして・・・社員の情報を表示するフォームでも作って、フォームの作り方もおさらいしておきましょうか。
「社員テーブル」を基にしたフォームを作成する
下の図のような、「社員テーブル」を基にしたフォームを作成してください。
えっ?どうやるか忘れちゃった?
んもー・・・・。
前に作ったデータベースでのフォームの作成手順から、図だけ抜粋しましたんで、下の図を見てコッソリ思い出してください。
図1:こういうフォームを作ろう。
え?
「資格」のところ、2とか5とかじゃ、何の資格かわからないって?
確かにそうですなぁ。
それに、「所属」も数字じゃ、よほどデータの中身に精通している人じゃないと、部署名がわからないですね。
図2:数字じゃわかりにくい?
じゃあ、「このフォームの、所属や資格の欄を、所属名、資格名が表示されるように」・・・いくつか変更を加えましょう。
特に決まったやり方はないんですが、今回は以下のように変更します。
「所属」: 「社員テーブル」と「所属テーブル」を結びつけたクエリを作成し、「社員テーブル」の代わりにそのクエリを使う。
「資格」: 「資格の表示方法をコンボボックスからリストボックスに変更する。
このフォームは、名前を付けず、保存せずに閉じてください。
フォームは上記の作業が終わってから改めて作りましょう。
「社員テーブル」と「所属テーブル」を結びつけたクエリを作成する
クエリを新規に作成します。
タブメニューから「作成」をクリックし、右端の方にある「クエリデザイン」をクリックします。
図3:「クエリを新規に作成します」と言われたらこの動きだ
「テーブルの表示」ウィンドウから、「社員テーブル」と「所属テーブル」をそれぞれ一度ずつダブルクリックし、右図のように二つのテーブルが横に並ぶようにします。
二つのテーブルを選択し終わったら、「テーブルの表示」ウィンドウは閉じます。
図4:テーブルを選択するのだ
おそらく、二つのテーブルの間には結合線が最初から出ていると思います。
いくつかの条件が重なると、結合線が自動的に引かれるようになるんですが、それはまた、いずれお話しすることになるでしょう。
とりあえず今日のところは、両方のテーブルの「所属」フィールドが結びつきあっていることを確認してください。
図5:「所属」でつながる熱い絆
フィールドを選択します。選択するフィールドは以下の通りです。
■「社員テーブル」の 「社員番号」 ※並べ替え:昇順
■「社員テーブル」の 「社員名」 ■「社員テーブル」の 「ふりがな」
■「社員テーブル」の 「生年月日」
■「所属テーブル」の 「所属名」 ■「社員テーブル」の 「資格」
図6:クエリはこんな感じだ
実行して結果を確認しましょう。「所属名」が表示されていますか?
え?実行って何だっけ、ですって?
んもーしっかりしてくださいよ。
左上のこのボタンですよ。
図7:所属名が表示される。これならわかりやすいよね
結果が確認できたら、名前をつけて保存します。
え?保存って何だったっけ、ですって?んもーそれじゃいつまでたってもデータベース作りに集中できないですよ。しっかりしてくださいよ。
↓これこれ。
図8:クエリに適当な名前をつけて保存しよう
名前をつけて保存することができたら、このクエリは閉じておきましょう。
このクエリを基にしたフォームを作成する
改めて、このクエリを基にしたフォームを作成します。
フォームの作り方、また忘れちゃったんですか?
しょうがないですねぇ・・・上の方のメニューから順番に選択していくことが多いので、まず画面の上の方に目をやって、操作を思い出すようにしてくださいね。
タブメニューから「作成」をクリックし、基になるクエリをナビゲーションウィンドウからクリックして選択した状態で、リボン内の「フォーム」をクリックします。
図9:フォームを作る手順を再確認しておこう。流れを掴むんだ。
フォームが出来上がりました。
先ほどと違い、数字ではなくちゃんと所属名が表示されるようになっていることを確認してください。これで、「所属」に関してはOKですね。
このようにAccessでは、用途に合わせてクエリを作り、そのクエリを基にしてフォームを作ることが多いんです。
今日のところは、「意味がよくわからないよ・・・」でもOKですよ。とりあえず、”フォームを作る”とか”クエリを作る”と言われたらすぐ動けるようになっておいてください。
では、次に、「資格」の方にまいりましょう。相変わらず数字が横に並んでいるだけですよね。
このフォームをデザインビューに切り替えます。
たまには、右下の小さいボタンを使ってみますか。ビューを切り替えるボタンなんですけど、ちっさくてクリックしにくいんですよねー。
図10:右下にも三角定規ボタンあり
「資格の表示方法をコンボボックスからリストボックスに変更するを
個々にコントロールのサイズを変更したい場合は、コントロールレイアウトを解除してから操作します。
忘れちゃったよ・・・という方のために、以下に解除の手順を再掲しますので、参考にしてくださいね。
「資格」コントロールを右クリックします。
もし、右図のように、全てのコントロールが選択されている状態で、「資格」だけをうまく選択できない・・・という場合は、まず、フォームの欄外(右図参照)を一度クリックすると、オレンジ色で囲まれていたコントロールがまっさらさらな状態になります。
選択したいコントロールがうまく選択できない場合は、このようにして欄外をちょぴっとクリックしてから再挑戦するといいですよ。
で、右図のように、何も選択されていない状態になったら改めて、「資格」コントロールを右クリックします。
右クリックですよ。
図11:うまく選択できない場合は、こんな風にやってみてくれ
ショートカットメニューから、「コントロールの種類の変更」を選択すると、さらに右側にメニューが出てきます。中から、「リストボックス」をクリックします。
コントロールの種類は、このような手順で、後から変更することもできるんですよ。例えば、テキストボックスをコンボボックスに変えたり。
ただ、状況によって、変更できないコントロールもあります。右図を見ていただくと、「テキストボックス」と「リストボックス」以外はグレーアウトになっていて選択できませんよね。他のは選べません。
「資格」コントロールは最初、コンボボックスだったわけなんですが、テキストボックスかリストボックスのみ変更可能、というわけです。
図12:コントロールをリストボックスに変更だ
ちょっとだけ、「資格」コントロールのサイズが変わりましたよね。
フォームビューに切り替えて、様子を見てみましょう。画面左上の「表示」ボタンをクリックして、フォームビューに切り替えます。
または、画面右下の小さいボタンで切り替えてもOKですよ。
図13:でっかっくなった
「資格」がリストボックス表示になりました。これなら、どの資格を持っているのか確認しやすそうです。
さて、今回のテーマはここまでなんですが、せっかくですからおさらいがてら、フォームのデザインを調整してみましょうか。テキストボックスの大きさを変更したり、移動したり。
やり方、もう覚えたぞ、という方は、是非挑戦してみてください。
もうやる気がない、疲れた、という方は、フォームに名前をつけて保存して、一息入れてください。
図13:「資格」が、コンボボックスからリストボックスに変わってまんがな
コントロールのサイズなどを調整する
コントロールのサイズを個々に変更したいなら、コントロールレイアウトを解除してからの方がいいですね。
解除の仕方、以下に載せますので、おさらいしておいてください。
コントロールレイアウト全体を選択し、タブメニューから「配置」→「解除」をクリックします。
図14:コントロールレイアウトを解除するならこの手順だす
後は、お好みでデザインを変更していってください。
フォームビューに変更したい場合は、タブメニューの「デザイン」をクリックすれば、リボンの左端に「表示」ボタンが表示されます。
図15:こんな感じにサイズ調整してはどうだろうか
フォームビューに切り替えながら、テキストボックスやリストボックスのサイズが適切かどうか確認します。
うーん、ここでひとつ気付いたことがありました。
「資格」リストボックスの中のチェックボックス、なんとなく色が薄いですね・・・。もしかして、クリックしてもチェックが付かないのかな。。。。
どうやら、このフォームの基になっている「社員テーブル」の「資格」フィールドのプロパティを変えておかないといけないみたいです。
図16:うーん?リストボックス内のチェックボックスの色がやけに薄いような・・
このフォームに名前をつけて保存し、フォームを閉じましょう。
名前は何でもいいですよ。
名前を付けたら、フォームを閉じてください。
図14:
「社員テーブル」のプロパティを変更する
「社員テーブル」をデザインビューで開きます。
図15:デザインビューーーーー
「資格」フィールドのフィールドプロパティ(画面下部分)の、「ルックアップ」タブをクリックします。
「表示コントロール」をコンボボックスからリストボックスに変更します。
「社員テーブル」を上書き保存し、閉じます。
図16:リストボックスにしよう
再び、先ほどのフォームをフォームビューで開いて、「資格」コントロールの様子を確認しましょう。
リストボックス内のチェック印、クリックできるようになりましたよね。
図17:これで、資格が増えても大丈夫。
さて、駆け足でやってまいりましたが、今回のテーマはずばり「複数のテーブルの結びつき」です。
ルックアップとクエリという二つの事柄をご紹介しました。
この二つは、根底ではつながりがあるんですが、まったく別のもの、別の状況で活用するものだと思ってくださいね。
複数のテーブルの結びつきって、結構奥が深い話でして、理解するのは結構難しいんですが、パソコンの操作としてではなく、身近な物事に置き換えて噛み砕いて理解していくことを忘れないでください。最初から「テーブル同士の結びつき」として理解しようとすると、難しいことを余計難しくしてしまう可能性があるので、今回のように、図で描いてみるとか、そういう覚え方もうまく織り交ぜていくといいですよ。
※練習データベースは、ここまでで終わりです※
このページのまとめなど
- 複数のテーブルを組み合わせて作るデータベースの場合は、フォーム用にクエリを作ることもあるのだ。
- クエリの作成手順、おさらいしておこう。
作成日:2008-12-29