次の方法で共有


Error オブジェクト (ADO)

適用先: Access 2013、Office 2013

プロバイダーを含む単一の操作に関連して発生した、データ アクセス エラーの詳細情報を格納しています。

注釈

ADO オブジェクトに関係するすべての操作では、1 つ以上のプロバイダー エラーが発生する場合があります。 エラーが発生するたびに、1 つ以上の Error オブジェクトが Connection オブジェクトの Errors コレクションに追加されます。 別の ADO 操作でエラーが発生すると、 Errors コレクションがクリアされ、 Error オブジェクトの新しいセットが Errors コレクションに配置されます。

注:

[!メモ] 各 Error オブジェクトは、ADO エラーではなく特定のプロバイダー エラーを表します。 ADO エラーは、実行時の例外処理メカニズムに公開されます。 たとえば、Microsoft Visual Basic の場合、ADO 固有のエラーが発生すると、 On Error イベントが実行され、そのエラーが Error オブジェクトに追加されます。 ADO エラーをすべて記載した一覧については、 ErrorValueEnum のトピックを参照してください。

各エラーの詳細については、次のプロパティを含む Error オブジェクトのプロパティを参照してください。

  • エラーのテキストを格納する、Description プロパティ。 これは既定のプロパティです。

  • エラー定数の長整数型 ( Long ) の値を格納する、 Number プロパティ。

  • エラーの発生源となったオブジェクトを特定する、Source プロパティ。 特にデータ ソースに対する要求に続いて、 Errors コレクションに複数の Error オブジェクトが追加された場合に便利です。

  • SQL データ ソースの情報を提供する、SQLState プロパティと NativeError プロパティ。

プロバイダー エラーは発生すると、 Connection オブジェクトの Errors コレクションに追加されます。 ADO では 1 回の ADO 操作で複数のエラーを取得できるため、プロバイダー固有のエラー情報を見込んでおくことができます。 エラー ハンドラーにあるこうした豊富なエラー情報を取得するには、使用している言語や環境の適切なエラー トラッピング機能を使用し、ネストされたループで Errors コレクションの各 Error オブジェクトのプロパティを列挙します。

Microsoft Visual Basic ユーザーと VBScript ユーザー有効な Connection オブジェクトがない場合は、 Error オブジェクトからエラー情報を取得する必要があります。

ADO は、プロバイダーと同様に、新たなプロバイダー エラーを発生させる可能性がある呼び出しを行う前に、 OLE Error Info オブジェクトをクリアします。 ただし、 Connection オブジェクトの Errors コレクションがクリアされ、オブジェクトが追加されるのは、プロバイダーで新しいエラーが生成されるか、 Clear メソッドを呼び出す場合のみです。

プロパティとメソッドの中には、 Errors コレクションの Error オブジェクトとして警告を返しても、プログラムの実行を停止しないものがあります。 Recordset オブジェクトで Resync メソッド、 UpdateBatch メソッド、または CancelBatch メソッドを呼び出す前、 Connection オブジェクトで Open メソッドを呼び出す前、または Recordset オブジェクトで Filter プロパティを設定する前に、 Errors コレクションで Clear メソッドを呼び出す必要があります。 これにより、 Errors コレクションの Count プロパティを読み取り、返された警告を調べることができます。