メニュー画面を作る
最後の仕上げに、メニュー画面を作ろうと思います。メニュー画面といっても、そんな特別なものじゃないんですよ。
Access2007の場合、常に左側にナビゲーションウィンドウが出てますから、テーブルを開いたりフォームを開いたりはそこからやればいいんですが、皆さん以外の人に入力を任せることになった場合を考えると、その人にとってはちょっと、わかりにくいかなって思うんです。まあ、操作を教えればいいんでしょうが・・・。
そういうときのために、自分でメニュー画面を作る様子、ちょっとだけ体験していただこうかなと思います。メニューというか、表紙みたいなものでしょうかね。
作り方はいろいろあるんですが、今日は、イチから手作りで作ってみましょう。
空白のフォーム
右の図を参考にしていただき、「空白のフォーム」を作成してください。
図1:図の説明。
これが空白のフォームです。
何が起きたのか理解するのに時間がかかるほど、真っ白です。
今回のように、表紙を作るときとか、注意書きや説明が気などを載せるフォームを設けたいときとか、テーブルのデータを表示せず別の目的でフォームを作りたいときに、空白のフォームを作ることがあります。
図2:真っ白じゃ
デザインビューに切り替えます。
デザインビューも真っ白です。
ここに、メニュー画面に必要なものをあれこれ配置していきます。
図3:デザインビューも真っ白
まず、コマンドボタンを作ります。
右図を参考に、コマンドボタンを作るためのボタンをクリックしてください。
ここでは、コントロールウィザード機能は使いたくないので、オフの状態(右図参照)にしておいてください。一度クリックすればオンになり、もう一度クリックすればオフになります。
図4:コマンドボタンを作るつもり
上記のボタンをクリックした後、マウスをフォーム内に移動します。
ドラッグじゃないですよ。単に、移動です。
右図のように、マウスポインタの形が四角くなっていることに注目してください。
右図のように、少し右下に向かってドラッグします。
図5:マウスポインタの形に注目
コマンドボタンができました。
テキストボックスやラベルと、扱い方は同じなので、移動やサイズ変更をして、ちょうど良い配置に調整してください。
図6:コマンドボタンができた。名前はコマンド0
ボタンの標題を書き換えます。
コマンド0じゃなんだかわかりませんもんね。ラベルと同じような感覚で、ボタンの表面でダブルクリックすればカーソルが現れます。
”試験マスター登録”とか、そんな感じで。
図7:試験マスターを登録するときのボタンにしよう
ボタンの表面に入りきらなくなったら、ボタンの大きさを調整しましょう。
図8:サイズ調整は適時
マクロの作成
次に、このコマンドボタンをクリックしたときの”動き”を作ります。まあ、難しい話は抜きにして、とりあえずひととおりやってみましょう。
コマンドボタンが選択されている状態で、プロパティシートを表示させます。
図9:このボタンのプロパティシートを見せろ
このコマンドボタンのプロパティが表示されるので、中から「イベント」タブをクリックします。
これから、
<このコマンドボタンをクリックしたら、「試験マスター」を開く>
という処理を作成しますよ。
図10:イベントタブをクリック
一番上に「クリック時」というヤツがありますね。ここにカーソルを置いてください。最初からあるのかな。
すると、右端にちっさいボタンがふたつ、表示されますね。
↓こっちの、3つ点付きのボタンをクリックしてください。
図11:コッチをクリック
この3点ボタンは、「ビルダボタン」とか「ビルドボタン」とか呼ばれてます。
この「クリック時」というプロパティにあれこれ入力するためのお助け機能の呼び出しをするんですね。この3点ボタン。
で、ここで使えるお助け機能は3種類あります。マクロビルダ、式ビルダ、コードビルダ。どれか選べって言ってますね。
今日は、マクロビルダを使って、「クリック時のイベント」を作りましょう。
マクロビルダを選択し、OKボタンをクリックします。
図12:マクロ作るアル
マクロを作成するためのデザイン画面です。
詳しい使い方はまた別の機会にやりましょう。まずは、ひととおり作業しちゃいましょう。
「アクション」という列の一行目をクリックして、リストを表示させます。
図13:何じゃこりゃーという感じの画面ですが
いろいろ出てきましたが、中から、「テーブルを開く」というのを選んでください。
たぶん、あいうえお順に並んでいると思います。
図14:テーブルを開く、を探す
次に、下のほうに注目してください。アクションの引数、という欄がありますね。
ここには、右図の1で選んだアクションの実行に必要な補助情報を指定します。今回の場合は、「どのテーブルをどうやって開くのか」みたいな情報が必要ですね。
右図2をクリックして「試験マスター」を選びます。
図15:試験マスターを開くというマクロが完成
これでマクロは完成です。
保存?うーん、することはするんですが、ここで保存するんじゃないんです。
とにかく、必要な作業が済んだら、閉じましょう。
←閉じるのはこのボタンでもOK
図16:作業が終わったら、保存じゃなくて、閉じる
閉じるとき、こんなメッセージが出ます。
そうなんです。今、マクロを作っていることには変わりないんですが、実はこのマクロ、空白フォームの一部(プロパティ)なんです。
図17:更新?しますよ。しますします。
マクロのウィンドウが無くなって、空白フォームに戻りましたね。
では、この空白フォームに名前をつけて保存しましょう。
空白フォームに名前をつけて保存してください。保存は、左上の、フロッピーディスクの絵柄の小さいボタンをクリックして・・・。
図18:空白フォームに名前をつけて保存しとこう
では、改めまして、テストです。
フォームビューに切り替えてください。
さらに、今作ったボタンをクリックしてみてください。
図19:ぽちっとな
「試験マスター」、表示されました?マクロ、正しく動きますか?
また新しい試験の予定が決まったら、このテーブルに追加します。
マクロが実行されてテーブルが開くことが確認できたら、「試験マスター」は閉じてください。
図20:新規追加はこの行に
仮に、過去の試験のデータを入力する場合でも、一番下の新規入力行に追加するんですよ。
「一番上に行を挿入したいんですが、どうやったらいいんですか?」なんて言い出さないでくださいね。データの追加は常に一番下の、米印みたいなマークがついた行のみです。
これは、Excelではありません。罫線を縦横に引いた表の中にデータを入れるのではなく、データが縦横に意味のある整列をしているんです。つまり、一番下に追加したレコードは、一度テーブルを閉じて次に開いたとき、「試験コード」(主キー)の順に整列して表示されることになるんです。開いている状態の何行目に入力するかとかいうことは、あんまり意味がないんですよ。
こういうとこもちょっと、思い出しておいてくださいね。
その他のコマンドボタン
同じ要領で、コマンドボタンをあと3つ、追加しましょう。
それぞれ、クリック時のイベントとしてマクロを作成します。
手順は・・・え?もうわかるからいいって?それは頼もしいっす。
一応、上のほうの図9~図17までの操作を行うことになりますね。
以下を参考にしていただきながら、挑戦してみてください。
■学生マスター登録:
●アクション: テーブルを開く
●テーブル名: 学生マスター
■教科マスター登録:
●アクション: テーブルを開く
●テーブル名: 教科マスター
■成績入力・照会
●アクション: フォームを開く
●フォーム名: 成績照会フォーム
図21:全部で4つのコマンドボタンを作ろう
それぞれ、ボタンの横に説明書きをしておきましょうか。ちょっと説明文入れたりしたいときは、ラベルを作ります。
右図を参考にしていただいて、「ラベル」ボタンをクリックし・・・。
図22:ラベルを作ろう
フォームの中にマウスポインタを移動させます。
マウスポインタの形、Aってなってますね。
コマンドボタンの横あたりを、斜め右下方向に四角を描くようにそっとドラッグします。
図23:この辺に四角を描く
できたてほやほやのラベルの中に、コマンドボタンの説明文を入力しましょう。途中で改行したいときはShiftキーを押しながらEnterで改行できます。
サイズや位置の調整はお任せします。
図24:説明を入れておくと親切ですよね
それぞれのボタンに説明文を付けましょう。
ラベルに緑色の印が付いてますね。他のコントロールと関連付いていない独立したラベルなので、「このままでいいんですか?」みたいなエラーの状態になってるんです。緑色のところをクリックするとエラーの状態が表示されますが、今回はこのままにしておいてください。
図25:メニューっぽくなってきたぞ
フォームを上書き保存し、フォームビューに切り替えて様子を見てみましょう。
なんか、メニュー画面っぽくなりましたよね。
それぞれ、クリックしてみて、テーブルやフォームがちゃんと表示されるかどうかチェックしてみてください。
図22:フォームビューにするとこんな感じ
ナビゲーションウィンドウとリボン
ナビゲーションウィンドウは、右図のボタンをクリックすると最小化することができます。
図23:ナビゲーションウィンドウ、引っ込めたい
少し、画面が広くなりましたね。
下のボタンをクリックすれば、元の幅で表示させることができます。
図24:ナビゲーションウィンドウは左端に折りたたまれて
ナビゲーションウィンドウ自体を非表示にすることもできるんですが、それは別の機会に触れます。
ただ、私は個人的には、こういうものを必要以上に隠そうとするのは、あまりよくないと考えてます。
メニュー画面などを作るようになると、Access2007固定の表示物(ナビゲーションウィンドウやリボンなど)を邪魔者扱いする人も多いんです。オリジナルアプリケーションソフトみたいに見せたいという気持ちはわからないでもないですが、Accessを使って作ったデータベースには違いないので、ナビゲーションウィンドウやリボンもちゃんと認めていかないと。
「初心者にデータ入力させるから、余計な操作をしないようにするためだ」という場合もあるでしょう。でも、あれこれ隠したがために返って使いにくくなったり、不具合につながったりする可能性だってあるってことも認識しないとなりません。
どっちにしても、もうちょっと使いこなせるようになってから考えましょう。
余談
もしかしたら、後々、「えっ?これ、何?」ってびっくりされる方がいらっしゃるかもしれないので、ちょっとだけ補足させていただきます。
「学生マスター」テーブルを開いてください。ダブルクリックで。
図25:「学生マスター」テーブルを開くと
左端に、プラス記号がついてると思うんですが・・・
これを見て、「なんか変なものが出るようになったんですけど、これ、どうやったらなくなるんですか?」って聞かれることがよくあるんですよ。
それで、今のうちにちょっとお話しておこうかなって思って。
図25:このプラス記号はなに???
クリックするとマイナス記号になり、つらつらっとなにやら出てきます。
そうなんです。この学生さんに紐付く「成績テーブル」のデータが出てくるんです。もう一回クリックすれば引っ込みますよ。
ツリー表示ってやつですね。
サブフォームを作るために「学生マスター」と「成績テーブル」のリレーションシップを作りましたよね。アレを作ると、テーブル同士の関係ができるわけで、そうすると、親のテーブルのほうにこういう表示が現れるんです。
消すことができるものではないので、このまま放置。このプラス記号は気にしないでください。
図25:つらつらー
以上で、練習1:成績管理データベースの作成は終わりです。いろいろ盛りだくさんで進めてきましたが、なんとなく手ごたえがあったんじゃないでしょうか。だんだん、Accessってどんなものか掴めてきてるんじゃないかなーなんて思ってます。
リレーションシップ(の操作方法ではなくて、どういうものか)の理解が深まれば、どういうテーブルを作っていけば効率の良いデータ管理ができるか見えてくるし、コマンドボタンやマクロを作るようになればちょっとしたアプリケーションっぽくまとめることができるようになります。もちろん、リレーションシップなんてやらなくてもいいし、メニュー画面もコマンドボタンも作らなくてもいいんで、そこんとこは皆さんの自由ってわけです。
この辺までくれば、市販の入門書や逆引き辞典などで自力で調べることができるようになると思います。最初はやっぱり、何回か教習コース走ってみませんとね。
当入門部屋の教習コースはまだまだ続く予定です。ではまたお会いしましょう。
このコーナーで作成したデータベースの、サンプルです。
zip形式で保存してあります。
プロパティを設定したり止めたりしてますので、参考になる状態かどうかはわかりませんが、「成績テーブル」にデータはそこそこ入っていますので、クエリの練習の足しくらいにはしていただけると思います。
よかったらダウンロードして参考にしてください。
step1_ren1.zip
※解凍後: 成績管理.accdb (444Kb Access2007のみ使用可)
このページのまとめなど
- メニュー画面などを作るときに・・・空白フォーム。つまり、何にも無い真っ白フォーム。
- コマンドボタンの「クリック時」のイベント。ここにマクロを埋め込むんです。
- ナビゲーションウィンドウは小さく折りたたむこともできますよ。
作成日:2009-01-09