Accessでは、ウィザードを使用して簡単にボタンを作成することができます。
これについては、ウィザードを使ったコマンドボタンの作成で解説しています。
簡単に作成できるのですが、1つ注意しなければならないことがあります。
-
コマンドボタンウィザードを使用したボタンの作成
Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。 コマンド ...
ボタン作成後はプロパティを表示して、クリック時の[埋め込みマクロ]を開いて一度確認されることをお勧めします。
拡張子accdbでコントロールウィザードを使用してボタンを作成
ウィザードを使用してコマンドボタンを作成した後、ボタンのプロパティを開いて[イベント]の[クリック時]を見ると、自動的に[埋め込みマクロ]が作成されています。
拡張子が[mdb]の場合は、イベントプロシージャになります。
この埋め込みマクロの[...]ボタンをクリックすると、マクロビルダーが開かれます。
[フォーム名]に見慣れない文字が並んでいると思います。
私も知らなかったのですが、これはアスキーコードと呼ばれるものだそうです。
参考拡張子を表示する方法は、以下の記事で解説しています。
-
登録されている拡張子を表示するには(Windows7からWindows11まで)
拡張子とは、どのアプリケーションで開くことができるファイルなのかを示すファイル名の最後に表示される3文字程度の文字列のことです。 Windo ...
フォーム名を修正
この[フォーム名]のところは、実際のフォーム名に変えても動作は変わりません。
アスキーコードをすべて削除すると、プルダウンボタンが表示されますので、ボタンを使って開くフォームを選択します。
マクロを更新して保存します。動作を確認しても同じです。
オブジェクト名を指定しておいた方がよい理由
アスキーコードのままであれば、オブジェクト名を変更しても自動修正されません。
オブジェクト名を指定していると、名前が変更されると自動的に修正されます。
[Accessのオプション]ダイアログボックスで[名前の自動修正を行う]がオンの場合です。既定はオンになっています。
[オプション]ダイアログボックスは、アクセスキーを使用すると便利です。[At]→[F]→[T]の順に押すと表示できます。
参考コマンドボタンウィザードを使用して、[フォームを閉じる]ボタンを作成した場合、埋め込みマクロは[ウィンドウを閉じる]だけが設定されます。
[オブジェクトの種類](フォーム)と[オブジェクト名]は必要であれば指定してください。以下はサンプルです。
[オブジェクトの種類]の指定を省略した場合は、アクティブウィンドウが閉じられます。
メッセージボックスを表示して、[はい]が選択されたときに[ウィンドウを閉じる]アクションを実行する方法も解説しています。
-
メッセージボックスで[はい]が選択されたらアクションを実行する
Accessのフォームで[閉じる]ボタンを設置しても、メッセージボックスは表示されずにフォームは閉じられてしまいます。 [閉じる]ボタンをク ...
拡張子が[mdb]の場合
拡張子が[mdb]ファイルの場合は、ウィザードを使用してもVBAが作成されます。
下の画像はAccess2007のmdbファイルです。
[埋め込みマクロ]ではなく、[イベントプロシージャ]になっています。
[...]をクリックするとコードを確認できます。
Access2007以降でも拡張子が[mdb]ファイルの場合は、イベントプロシージャになります。
Access2007でも、拡張子が[accdb]の場合は、[埋め込みマクロ]となります。
新拡張子では埋め込みマクロになったため、戸惑われる方も多いようです。
アスキーコードでは分かりにくいと思いますので、フォーム名(オブジェクト名)に変えておいた方が後々、分かりやすいと思います。
参考[埋め込みマクロ]と[独立マクロ]については、以下の記事で記しています。
-
独立マクロと埋め込みマクロの違いを知って使い分け
Accessのマクロには、独立マクロと埋め込みマクロというのがあります。 独立マクロは、マクロを個別に作成して、後でオブジェクトのプロパティ ...
旧拡張子(mdb)から新拡張子(accdb)に変換する方法については、以下の記事で解説しています。
-
mdbファイルをaccdbファイルに変換
Access2003で作成した[.mdb]ファイルを新拡張子である[.accdb]のファイルに変換する方法です。 新拡張子でなければ使えない ...