NO.2 フォームを開くためのメニューフォームを作成する

アクセスで色々とフォームを作成しますと訳がわからなくなりますね。 そのようなときに、メニューフォームを作成しフォームを開くボタンを機能毎に作成すれば使いやすくなります。 そのフォームに説明文などを付ければなおさら使いやすくなり、見た目もきれいになります。 そこで今回はフォームを開くためのメニューフォームを作成します。

空のフォームを作成

●データベースのオブジェクトでフォームを選択します。

●新規作成(N)で'フォームの新規作成'ダイアログを開きデザインビューでOKボタンをクリックします。 (基になるテーブルまたはクエリの選択は不要です)

フォームの新規作成ダイアログ

●フォームのデザイン画面とプロパティが表示されますので、プロパティを以下に説明する値で指定します。 プロパティが開かなかった場合は、表示(V)-プロパティ(P)で開いてください。

プロパティ説明
レコードセレクタいいえフォーム左のボタンを使用しない。
移動ボタンいいえフォーム下のレコード移動ボタンを使用しない。

●フォームを保存します。そのままフォームを閉じれば保存を確認するメッセージが出ます。

●作成したフォームを開いてください。何も設定されていない空のフォームが表示されます。

メニューフォームにフォームを開くボタンを配置する

●データベースより先ほど作成したメニューフォームをデザイン(D)で開きます。

●表示(V)-ツールバー(T)-ツールボックスでツールボックスを開きます。

●ツールボックスよりコマンドボタンをマウスで選択し、メニューフォーム上の設置したいところをマウスでクリックします。

コマンドボタンの位置

●コマンドボタンとコマンドボタンウィザードが表示されますので種類:フォームの操作、ボタンの操作:フォームを開くを選択して次へ(N)のボタンをクリックします。

コマンドボタンウィザード

●開くフォームを選択して次へ(N)のボタンをクリックします。

●文字列を選択して、ボタンに表示される文字列(プロパティの名前)を入力して次へ(N)のボタンをクリックします。

●ボタン名(プロパティの標題)を指定して完了(F)のボタンをクリックします。 ボタン名は先ほど配置したボタンに表示される文字列と同じ内容にするとわかりやすいです。

プロパティ説明
名前フォームを開くVBAに付加される名前です。
標題フォームを開くボタンに表示される名前です。
クリック時イベントプロシージャクリックしたときの処理がVBAで設定されているという意味。ちなみにこれをクリアするとボタンが動作しなくなります。

作成されたVBAの説明

作成したボタンをマウスで右クリックしてイベントのビルド(E)でVBAの画面が表示されます。

モジュールのVBAを開いたところ

VBAの詳細説明

上記に作成されたVBAの詳細を以下に説明します。

VBAの説明
Private Sub フォームを開く_Click()
実行したい処理単位にプロパティの名前を定義します。実行するときの区別になります。
On Error GoTo Err_フォームを開く_Click
VBAの実行中に実行できない操作や演算があったときは、Err_フォームを開く_Click:から実行させます。
なお、この行が無い場合は実行が停止しますが、指定されているSub 〜 End Sub間でのみ有効です。
Dim stDocName As String
stDocNameという開くフォーム名を設定する領域を確保します。
Dim stLinkCriteria As String
データベースの表示条件を設定する領域を確保します。
そのため、このメニューフォームでは不要ですので設定する必要はありません。
stDocName = "フォーム1"
開くフォーム名を"フォーム1"とするために、stDocNameという名前の領域に設定します。
DoCmd.OpenForm stDocName, , , stLinkCriteria
stDocNameという領域に設定してあるフォーム名のフォームを開きます。
フォームがメニューですのでstLinkCriteriaという領域に設定してあるデータベースの表示条件は不要です。
Exit_フォームを開く_Click:
一連の処理単位での終了先名を定義しています。
この名称は処理の実行には何も影響を与えません。
Exit Sub
この処理単位から出ます。つまり実行処理の終了です。
Err_フォームを開く_Click:
エラーが発生した場合の実行先名を定義しています。
この名称は処理の実行には何も影響を与えません。
MsgBox Err.Description
エラーが発生した内容をメッセージボックスとして表示させます。
Resume Exit_フォームを開く_Click
エラーが発生している状態で実行されていますので、
エラーでの処理を終了とともに、Exit_フォームを開く_Click:から実行させます。
End Sub
作成された実行したい処理単位の終わりを示します。

今回のまとめ

標準的なボタンにはVBAを作成する必要はありません。しかし、作成されたボタンの標準的な内容を知ることにより使用者好みに手を加えることが出来ます。
ツールボックスにラベルがありますので、大いに使用してわかりやすいメニューを作成すると良いでしょう。
なお、ラベルにはウィザードは表示されませんので、そのまま入力すればプロパティの標題に設定されます。

作成日:2002/11/29

| HOME | INDEX | | |