ここらでメインメニューを作ろうかと思います。
Accessには「メニュー用フォームビルダ」という機能が備わっており、簡単にメニューフォームを作成することができますのでこれを試してみようと思います。併せて中身を確認して、構造を見てみたいと思います。
メニューフォームの作り方
まずは画面の作り方です。上でも書いたとおり、簡単にメニューフォームを作成できるようにフォームビルダが備わっていますので早速使い方から。
メニューバーの「ツール」→「データベース ユーティリティ」→「メニュー用フォーム ビルダ」をクリックするだけ。
すると以下のように聞かれます。要は「メニューを作成するためのテーブルやフォームがないので作ってもよいか」ということなので、逆らわずに「はい」をおしてAccessに作ってもらいます。
すると次の画面が表示されます。
この画面からメニューを組み立てていきます。が、ここで一度閉じて、できたフォームを開いて中身を確認してみましょう。
「画面に表示できるものがなんにもないよ」的なメッセージが書かれています。ではデザインビューで見てみましょう。
ありゃ?フォームビューではボタンが1個だけだったのにデザインビューでは8個のボタンがある??
そうなんです、このフォーム、単にボタンを並べたりテキストボックスを並べてあるだけではなく結構複雑な構造を持っているんです。
フォームビルダで作ったメニュー画面の構造
表示されるボタンと、そのボタンを押したときの動作は「Switchboard Items」というテーブルで設定されています。そして、フォームを開くときやコマンドボタンを押したときの動作がVBAによってテーブルより読み込まれて画面に表示されるようになっているんです。
テーブル「Switchboard Items」を開いてみると
ご覧の通り
- SwitchboardID
- ItemNumber
- ItemText
- Command
- Argument
という5つのフィールドが定義されています。それぞれに役割が決められていて、各値を読み込んで処理していくのですが今回はここまで。次回はフォームビルダで機能を追加して見ることにします。そしてその結果テーブルにどんなデータが挿入されるのか?VBAの処理はどのようになっているのか?を調べてみましょう。