▶ Windows 11情報をお求めの方はこちらをクリック

AccessVBAで「OLEサーバーまたはActiveX~」のエラーが表示される場合の対処法・解決策

2 min

今回はAccessVBAを実行しようとすると「OLEサーバーまたはActiveX~」のエラーが発生してしまう場合の対処法・解決策です。

 

とある日、知人から「どうやっても解決できないから助けて!」と言われ、ちょっと調べてみたのですが…

 

このエラー、ちょっとくせもの。。

ネット上を調べてみてもなかなかドンピシャの解決策がヒットしない!

 

結構苦労しました。

ということで、同じように困っている方向けのメモを残しておきます。

 

OLEサーバー〜エラーメッセージ

今回表示されたエラーメッセージはこちらです。

「イベントプロパティに指定した式 XXXXXX時 でエラーが発生しました:Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました。」

 

ちょっと長いエラーメッセージですね。

 

今回ご紹介するのは、次の2つのケースです。

それぞれ「エラーの発生状況」「対処法・解決策」を書きましたので、ぜひ参考にしてくださいね!

 

別パソコンでAccess実行するとエラー

エラー発生状況

わかりやすく言うと、パソコンAで作成したAccessをパソコンBにコピーして実行すると、本エラーが発生します。

 

では、どのタイミングでエラーが発生するのか?

 

エラーが発生したAccessは、起動時にとあるフォームが開かれます。このときOpenイベントが発行されるように設定されていました。

そして今回のエラーは、Form_Open()プロシージャが実行される前のタイミングで発生するのです。

 

つまり、ユーザーが触れないところでエラーが発生・・・

どうにもできないのでは?

 

とちょっと挫けそうになりましたが、次の方法で解決しました。

 

対処法・解決策

このケースの解決策は、次の通りです。

  1. まずパソコンBで新しくAccessファイルを作成します。
  2. 次にパソコンBで、パソコンAで作成したAccessファイルを開いて、すべてのAccessオブジェクトを選択&コピーします。
  3. パソコンBで作成した新しいAccessファイルを開き、先ほどコピーしたオブジェクトを貼り付けます。

 

これだけの操作でパソコンBでAccessVBAが正常動作するようになりました。

 

言語が異なるOSでAccess実行するとエラー

AccessVBA内に日本語のコントロール名や関数名を記述している場合、日本語OSで作成したAccessを別言語OSにコピーして実行すると本エラーが発生します。

 

「コントロール名や関数名に日本語を使うべきではない」とよく耳にしませんか?

今回のようなケースがまさに日本語を使った場合の障害発生ケースですね!

 

このケースは、AccessVBA内に日本語で記述してあるコントロール名や関数名を日本語→英語に変換することで解決しました。

 

 

まとめ

今回はAccessVBAを実行しようとすると次のエラーが発生してしまう場合の対処法・解決策をご紹介しました!

「イベントプロパティに指定した式 XXXXXX時 でエラーが発生しました:Microsoft AccessがOLEサーバーまたはActiveXコントロールと通信しているときにエラーが発生しました。」

 

もし同じエラーメッセージが発生してしまった場合は、ぜひ今回ご紹介した内容をお試しくださいね!

この記事がみなさまのお役に立ちましたら幸いです!

 

Access使い方・便利技・トラブル対処まとめはこちら↓

今回はAccessのクエリ・フォーム・レポート、VBAの使い方や便利技とトラブル対処法まとめです。 よく使うものだけを厳選してご紹介します。 Access全般の

 

SEパパ

SEパパ

外資系IT企業SE職で2児の父ちゃん!職業柄かリサーチ&問題解決が好き。

幅広いジャンルで「お悩み解決」記事を執筆中。月間最高24万PV。雑誌掲載。

読者様に役立つ情報提供を心がけています。

カテゴリー:

2 件のコメント

  1. まんま当てはまりました!!!すっごい助かりました。ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA