データベース作成

Access VBA データベース作成10 フォームを開く メインフォームの作成

データベース作成10 メインフォームの作成

実践データベース作成の第10回目はメインフォームの作成です。
データベース作成講座では今まで、1.登録フォーム 2.検索フォーム 3.編集フォームと3つのフォームを作成してきました。今回はそれぞれのフォームを開くデータベースのメインフォームを作成します。この講座も第10回目にしてひとつの区切りを迎えることになります。

フォームの作成

メインフォームの作成を行います。

sakusei27

フォーム内には以下のコントロールを作成しました。
(1)「社員管理データベース」と書いたテキストボックス
このデータベース名をドン!と書いた単なるテキストです。
(2)「社員登録コマンド」
(3)「社員検索コマンド」
(4)「社員編集コマンド」
(5)「終了コマンド」
では実際にVBAをどのように組み込んでいくのか説明します。

コマンドボタンのクリックイベント

コマンドボタンのイベントは「クリック時」になります。

sakusei28

コマンドボタンの「クリック時」には以下のプログラムを実行します。
・「社員登録コマンド」、「社員検索コマンド」、「社員編集コマンド」
には各フォームを開くプログラム。
・「終了コマンド」
にはAccess(このデータベース)を終了するプログラム
実際のプログラムは以下のようになります。

プログラム例

Private Sub 社員検索フォームコマンド_Click()

DoCmd.OpenForm “F_社員検索フォーム01”

End Sub

Private Sub 社員編集フォームコマンド_Click()

DoCmd.OpenForm “F_社員編集フォーム01”

End Sub
Private Sub 登録フォームコマンド_Click()

DoCmd.OpenForm “F_社員登録フォーム01”

End Sub

Private Sub 終了_Click()

DoCmd.Quit

End Sub

プログラムの説明

フォームを開く

DoCmd.OpenForm “F_社員登録フォーム01”
フォームを開くには「DoCmd.OpenForm “********”」と記述します。
また、フォームを閉じる場合は「DoCmd.Close acForm, “********”」とします。
(*******はフォーム名)

sakusei29

DoCmd.OpenForm “F_社員登録フォーム01″だけですと、上画像のように開いたフォームの後ろにメインフォームが開いたままになります。
ここは好みの問題ですが、ひとつのフォームですっきりさせたい場合は、

Private Sub 登録フォームコマンド_Click()

DoCmd.OpenForm “F_社員登録フォーム01”
DoCmd.Close acForm, “F_メインフォーム”

End Sub

と記述すれば、メインフォームは閉じることが出来ます。
勿論、この場合登録フォームにもメインフォームを開くプログラムが必要になります。

データベースの終了

「DoCmd.Quit」と記述すればデータベースを終了します。
このままですと、クリックしただけで終了になりますので、

Private Sub 終了_Click()

If MsgBox(“データベースを終了します。よろしいですか?”, vbQuestion + vbYesNo, “終了の確認”) = vbYes Then

DoCmd.Quit

End If

End Sub

上記のように終了の前にYes/No型のメッセージボックスを表示させてもいいですね。

いかがでしょうか?
全10回にわたり説明してきたデータベース作成講座はメインフォームも完成し今回で一区切りにしたいと思います。
AccessVBAを使用してデータベースを作成することが目的でしたので、クエリやマクロをひとつも使用しないデータベースになっています。
基本的な事しか説明し切れていませんがこの講座の内容を応用していけば複雑なデータベースの作成が可能になるはずです。

You Tubeにて動画を公開しています。

こちらの記事もおすすめ!