Access データベースで VBA 関数を呼び出すマクロを実行する場合の "アクション失敗エラー番号: 2950" エラー

元の KB 番号: 931407

注:

中小企業のお客様は、中小企業向けサポート サイトで問題解決や学習に関する他のリソースを参照できます。

現象

Microsoft Office Access 2007 以降のデータベースで Microsoft Visual Basic for Applications (VBA) 関数を呼び出すマクロを実行すると、次のエラー メッセージが表示されます。

アクションが失敗しました
マクロ名: MacroName
条件: 条件
マクロ名: RunCode
引数: 引数
エラー番号: 2950

原因

この問題は、データベースが Access によって信頼されていない場合に発生します。 既定では、最近のバージョンの Access では、無効モードで信頼されていないデータベースが開きます。 無効モードでは、実行可能コンテンツは無効になります。

解決方法

データベースの作成者を信頼し、データベースを有効にする場合は、次のいずれかの方法を使用します。

方法 1: 現在のセッションのデータベースを有効にする

このメソッドを使用すると、データベースを閉じるまでデータベースが有効になります。 現在のセッションのデータベースを有効にするには、次の手順に従います。

  1. メッセージ バーで、[ オプション] をクリックします。
  2. [ Microsoft Office セキュリティ オプション ] ダイアログ ボックスで、[ このコンテンツを有効にする] をクリックし、[OK] をクリック します

注:

Access のバージョンによっては、データベースを開くたびにこれらの手順を繰り返す必要がある場合があります。

方法 2: データベースを信頼できる場所に移動する

これを行うには、次の手順を実行します。

  1. データベースを移動できる信頼できる場所を決定します。 これを行うには、次の手順を実行します。

    1. [ファイル]、[オプション] の順にクリックします。

    2. [セキュリティ センター] をクリックし、[Microsoft Office Access セキュリティ センター] の [セキュリティ センターの設定] をクリックします。

    3. [ 信頼できる場所] をクリックし、次のいずれかの手順を使用します。

      • 一覧表示されている信頼できる場所のパスをメモします。
      • 新しい信頼できる場所を追加します。 これを行うには、[ 新しい場所の追加] をクリックし、追加する場所のパスを指定します。
  2. Access データベースを、指定した信頼できる場所に移動します。

詳細情報

マクロを使用して、 AutoExec データベースを開くときにデータベースが信頼されているかどうかをテストできます。 さらに、データベースが信頼されていない場合は、カスタマイズされたメッセージをユーザーに表示するフォームをマクロで開くことができます。 このメッセージは、コードを正常に実行するためにデータベースを有効または信頼する必要があることをユーザーに知らせます。

マクロとフォームを AutoExec 作成するには、次の手順に従います。

  1. デザイン ビューで新しいフォームを作成します。

  2. フォームにテキスト ボックスまたはラベルを追加し、ユーザーに表示する情報を入力します。

  3. フォームを保存して閉じます。

  4. マクロを作成し、マクロに という名前を付けます AutoExec

  5. [条件] 列を表示します。

  6. [条件] 列に次の行を入力します。

    CurrentProject.IsTrusted = False

  7. [ アクション] 列で、[ OpenForm] をクリックします。

  8. [アクション引数] の [フォーム名] ボックスで、手順 1 で作成したフォームをクリックします。

  9. マクロを保存して閉じます。

データベースが開くと、マクロが AutoExec 開始され、条件がテストされます IsTrusted 。 データベースが Access によって信頼されていない場合、マクロのアクションで指定したフォームが OpenForm 開きます。