office2021[エラー時]アクションでマクロのエラーを出さずに次に進ませる
Office 2021 で、あなたにぴったりの学びや活用方法が見つかります
Office 2021 はビジネスだけでなく、お子さまの家庭学習から、プライベートでもご利用いただけます。ユーザー別に想定される活用シナリオをご紹介します。
小・中・高・大学生 (家庭学習)
GIGA スクール構想により、小学生からパソコンに触れ、Office を使い、デジタルスキルを身につけることになります。
学校の課題の制作から、家庭学習まで、Office の使用が想定される活用ポイントをまとめました。
office2021 Accessでマクロを実行しようとすると、エラーメッセージが表示されて途中でストップしてしまうことがあります。
[エラー時]アクションを使用すると、このエラーをスキップして、次のアクションへ進ませることができます。
ここでは、埋め込みマクロで解説します。

参考ここでは、ウィンドウは重ねて表示する設定にしています
目次[非表示]
選択クエリの作成
コマンドボタンにマクロを設定
コマンドボタンをクリックして実行するとエラーメッセージ
エラーメッセージを表示しないで次のステップへ進ませる
[オブジェクトまたはクラスがこのイベントセットをサポートしていません]のエラー
office2021 選択クエリの作成
テーブル[T_顧客]を基に、[コース]フィールドで[VIP]を抽出するクエリ[Q_VIP]を作成しています。

コマンドボタンにマクロを設定
フォームにコマンドボタンを設置して、ボタンをクリックしたら、テーブル[T_顧客_VIP]を削除して、クエリ[Q_VIP]を表示するようにします。
フォームにコマンドボタンを挿入して、コマンドボタンの名前は[VIP]としています。
コマンドボタン[VIP]のプロパティを開いて、[イベント]タブの[クリック時]の[...]をクリックします。
[ビルダーの選択]ダイアログボックスで、[マクロビルダー]を選択して[OK]ボタンをクリックします。

マクロビルダーが表示されます。
[デザイン]タブの[表示/非表示]グループにある[すべてのアクションを表示]をクリックします。
そして、一覧から[オブジェクトの削除]を選択します。

以下のように、[オブジェクトの種類]で[テーブル]を選択して、[オブジェクト名]には[T_顧客_VIP]を選択します。

次に[クエリを開く]のアクションを追加して、[クエリ名]に[Q_VIP]を指定します

上書き保存して、マクロツールを閉じます。

参考埋め込みマクロについては、以下の記事でも解説しています
office2021 コマンドボタンをクリックして実行するとエラーメッセージ
フォームに作成したコマンドボタン[VIPコース名簿]をクリックすると、マクロが実行されます。問題ありません。
しかし、テーブル[T_顧客_VIP]をがない場合、以下のメッセージが表示されます。
[オブジェクトの削除]を実行しようにも、テーブル[T_顧客_VIP]がないので、実行できないのです。
オブジェクト'T_顧客_VIP'を見つけることができません。

上記のメッセージウィンドウで[OK]ボタンを押すと、今度は、以下の[マクロのシングルステップ]ウィンドウが表示されます。

エラーメッセージを表示しないで次のステップへ進ませる
埋め込みマクロの[エラー時]アクションで、メッセージを出さずに次のステップへスキップする方法です。
クリック時のイベントの[埋め込みマクロ]を編集します。
コマンドボタンのプロパティを表示して、[イベント]タブの[クリック時]には、[埋め込みマクロ]と表示されています。右端にある[...]をクリックします。

マクロビルダーが表示されます。
[新しいアクションの追加]の▼ボタンをクリックして、[エラー時]を選択します。

[エラー時]アクションの[移動先]は[次]を選択します。そして、[上へ移動」ボタンを2回クリックして、先頭へ移動します。
[移動先]のテキストボックス内でポイントすると、以下のポップヒントが表示されます。
移動先
エラーが発生すると、[次]の場合はエラーが発生したアクションの次のアクションへ進みます。[マクロ名]の場合は以下のサブマクロ名に移動します。[失敗]の場合はマクロの実行を中止します。

アクションの順番は、以下のようになります。

[新しいアクションの追加]の▼ボタンをクリックして、再度[エラー時]を選択して、[移動先]を今度は[失敗]とします。
これで、エラー処理を解除することになります。

マクロツールは、上書き保存して閉じます。

これで、削除するテーブルが存在しない場合でも、エラーメッセージを出さずに、次のマクロアクションへ進むことができるようになります。
参考[エラー時]アクションについては、以下のMicrosoftのページを参照してください。
"OnError/エラー時" マクロ アクション - Access(Microsoft)
[オブジェクトまたはクラスがこのイベントセットをサポートしていません]のエラー
Access for Microsoft 365でコマンドボタンをクリックして、マクロを実行しようとすると、以下のメッセージが表示されるようになりました。
オブジェクトまたはクラスがこのイベントセットをサポートしていません。

上記メッセージウィンドウで[OK]ボタンをクリックすると、[マクロのシングルステップ]ウィンドウが表示されます。
永続ライセンス版のAccess2019、2016、2013では、上記メッセージウィンドウは表示されず問題なく動作します。
埋め込みマクロや、ボタンを設置しているフォームにも問題はありません。
新しくデータベースを作成して、すべてのオブジェクトをインポートすると一時的には解決します。
また、マクロビルダーでリセットして上書きしても一時的には解決します。
ですが、編集していると、またメッセージウィンドウが表示されるようになります。
この場合も、[エラー時]アクションを追加して、エラーをスキップして次のマクロを実行するように設定して解決しました。
Office 2021 で、あなたにぴったりの学びや活用方法が見つかります
Office 2021 はビジネスだけでなく、お子さまの家庭学習から、プライベートでもご利用いただけます。ユーザー別に想定される活用シナリオをご紹介します。
小・中・高・大学生 (家庭学習)
GIGA スクール構想により、小学生からパソコンに触れ、Office を使い、デジタルスキルを身につけることになります。
学校の課題の制作から、家庭学習まで、Office の使用が想定される活用ポイントをまとめました。
office2021 Accessでマクロを実行しようとすると、エラーメッセージが表示されて途中でストップしてしまうことがあります。
[エラー時]アクションを使用すると、このエラーをスキップして、次のアクションへ進ませることができます。
ここでは、埋め込みマクロで解説します。

参考ここでは、ウィンドウは重ねて表示する設定にしています
目次[非表示]
選択クエリの作成
コマンドボタンにマクロを設定
コマンドボタンをクリックして実行するとエラーメッセージ
エラーメッセージを表示しないで次のステップへ進ませる
[オブジェクトまたはクラスがこのイベントセットをサポートしていません]のエラー
office2021 選択クエリの作成
テーブル[T_顧客]を基に、[コース]フィールドで[VIP]を抽出するクエリ[Q_VIP]を作成しています。

コマンドボタンにマクロを設定
フォームにコマンドボタンを設置して、ボタンをクリックしたら、テーブル[T_顧客_VIP]を削除して、クエリ[Q_VIP]を表示するようにします。
フォームにコマンドボタンを挿入して、コマンドボタンの名前は[VIP]としています。
コマンドボタン[VIP]のプロパティを開いて、[イベント]タブの[クリック時]の[...]をクリックします。
[ビルダーの選択]ダイアログボックスで、[マクロビルダー]を選択して[OK]ボタンをクリックします。

マクロビルダーが表示されます。
[デザイン]タブの[表示/非表示]グループにある[すべてのアクションを表示]をクリックします。
そして、一覧から[オブジェクトの削除]を選択します。

以下のように、[オブジェクトの種類]で[テーブル]を選択して、[オブジェクト名]には[T_顧客_VIP]を選択します。

次に[クエリを開く]のアクションを追加して、[クエリ名]に[Q_VIP]を指定します

上書き保存して、マクロツールを閉じます。

参考埋め込みマクロについては、以下の記事でも解説しています
office2021 コマンドボタンをクリックして実行するとエラーメッセージ
フォームに作成したコマンドボタン[VIPコース名簿]をクリックすると、マクロが実行されます。問題ありません。
しかし、テーブル[T_顧客_VIP]をがない場合、以下のメッセージが表示されます。
[オブジェクトの削除]を実行しようにも、テーブル[T_顧客_VIP]がないので、実行できないのです。
オブジェクト'T_顧客_VIP'を見つけることができません。

上記のメッセージウィンドウで[OK]ボタンを押すと、今度は、以下の[マクロのシングルステップ]ウィンドウが表示されます。

エラーメッセージを表示しないで次のステップへ進ませる
埋め込みマクロの[エラー時]アクションで、メッセージを出さずに次のステップへスキップする方法です。
クリック時のイベントの[埋め込みマクロ]を編集します。
コマンドボタンのプロパティを表示して、[イベント]タブの[クリック時]には、[埋め込みマクロ]と表示されています。右端にある[...]をクリックします。

マクロビルダーが表示されます。
[新しいアクションの追加]の▼ボタンをクリックして、[エラー時]を選択します。

[エラー時]アクションの[移動先]は[次]を選択します。そして、[上へ移動」ボタンを2回クリックして、先頭へ移動します。
[移動先]のテキストボックス内でポイントすると、以下のポップヒントが表示されます。
移動先
エラーが発生すると、[次]の場合はエラーが発生したアクションの次のアクションへ進みます。[マクロ名]の場合は以下のサブマクロ名に移動します。[失敗]の場合はマクロの実行を中止します。

アクションの順番は、以下のようになります。

[新しいアクションの追加]の▼ボタンをクリックして、再度[エラー時]を選択して、[移動先]を今度は[失敗]とします。
これで、エラー処理を解除することになります。

マクロツールは、上書き保存して閉じます。

これで、削除するテーブルが存在しない場合でも、エラーメッセージを出さずに、次のマクロアクションへ進むことができるようになります。
参考[エラー時]アクションについては、以下のMicrosoftのページを参照してください。
"OnError/エラー時" マクロ アクション - Access(Microsoft)
[オブジェクトまたはクラスがこのイベントセットをサポートしていません]のエラー
Access for Microsoft 365でコマンドボタンをクリックして、マクロを実行しようとすると、以下のメッセージが表示されるようになりました。
オブジェクトまたはクラスがこのイベントセットをサポートしていません。

上記メッセージウィンドウで[OK]ボタンをクリックすると、[マクロのシングルステップ]ウィンドウが表示されます。
永続ライセンス版のAccess2019、2016、2013では、上記メッセージウィンドウは表示されず問題なく動作します。
埋め込みマクロや、ボタンを設置しているフォームにも問題はありません。
新しくデータベースを作成して、すべてのオブジェクトをインポートすると一時的には解決します。
また、マクロビルダーでリセットして上書きしても一時的には解決します。
ですが、編集していると、またメッセージウィンドウが表示されるようになります。
この場合も、[エラー時]アクションを追加して、エラーをスキップして次のマクロを実行するように設定して解決しました。
※コメント投稿者のブログIDはブログ作成者のみに通知されます