【Access】マクロとVBAで『フォームを開く』コマンドボタンを作成する方法

この記事では、AccessVBAとマクロを使ってフォームでコマンドボタンを作成する方法をご紹介します。

あすてる

あすてる

メニュー画面などでよく使うのでぜひ覚えておいて損はないと思います。

Accessランタイムではナビゲーションウィンドウは使えないので、メニュー画面などでフォームを開いたりする操作が必要となります。

Accessランタイムをこれから使っていきたいとお考えの方はぜひ読んでみてください。

【Access】VBA・マクロでフォームでのボタンの作成方法

フォーム上でボタンを作成する方法はマクロを使って行う方法とVBAというコードをボタンに直接書き込む方法の2通りがあります。

【Accessマクロ】マクロを使ってメニューボタンを作成する方法

まずは、ボタンを設置したいフォームをデザインビューで開きます。

  1. STEP

    デザインメニューから『コントロールウィザードの使用』にチェックを入れます。

    コントロールウィザードにチェック(有効)がはいっていないとマクロは設定できないので注意して下さい。

    コントロールウィザードの有効確認

    赤く囲んだ通り、『コントロールウィザードの使用』が薄くグレーになっていれば有効状態です。

  2. STEP

    フォーム上に好きな大きさでボタンを作成します。

    コントロールウィザードが有効な状態でボタンを作成すると『コマンドウィザード』が起動します。

    フォームの操作→フォームを開く という手順後、次へを押します。

    ボタン上に表示される文字を決めます。

    コマンドボタンの名前を決めます。

    プロパティーシートを見るとコマンドボタンに先ほど決めた名前『棚卸リストを開く』が付いていることが確認できます。

    Accessマクロを使ってボタンを登録する場合はこれで終了です。

【AccessVBA】VBAを使ってメニューボタンを作成する方法

AccessVBAを使ってボタンを登録する方が数が多いときなどは楽かもしれません。

AccessVBAを使ってボタンを作成する場合は『コントロールウィザードの使用』は切っておいてください。

  1. STEP

    コマンドボタンを好きな場所に作成します。

    ボタンを作成して、ボタンが囲われている状態でプロパティシートを確認します。

    コマンドボタンを作成すると名前が『コマンド1』など適当な名前が付いていますので、わかりやすくプロパティシート上で変更します。

    変更しなくても使えますが、たくさんボタンがあるときはわかりにくいのでボタンに名前を付けておくことをおすすめします。

    赤枠部分がコマンドボタンの名前、青枠部分がコマンドボタンに表示される部分になります。

  2. STEP

    イベントよりクリック時にVBAコードを記入します。

    フォームを開くコード
    Private Sub 棚卸リスト開く_Click()
    DoCmd.OpenForm "商品リスト クエリ"
    End Sub

    AccessVBAでボタンを作る場合はこれで終了です。

最後に

Accessマクロで作ったのかVBAコードによって作ったのかを確認するには、プロパティーシートのイベントを確認するとわかります。

VBAコード
マクロ

左がVBAコード時、右がマクロ作成時です。

どちらで作成しているのか確認する時に使ってください。

関連記事