Error オブジェクト

Error オブジェクトには、ADO での 1 回の操作で発生したデータ アクセス エラーに関連する詳細情報が格納されます。


プロパティ

DescriptionHelpContextHelpFileNativeErrorNumberSourceSQLState

解説

Error オブジェクトのプロパティを調べると、各エラーに関する詳細情報を得ることができます。次のプロパティがあります。

· Description プロパティには、エラーの警告文が格納されます。

· Number プロパティには、エラー定数の長整数型 (Long) の値が格納されます。

· Source プロパティは、エラーを引き起こしたオブジェクトを識別します。このプロパティは、データ ソースへの要求の後に複数の Error オブジェクトが Error コレクションに格納される場合に特に便利です。

· HelpFile プロパティと HelpContext プロパティは、それぞれ発生したエラーに対応する Windows ヘルプ ファイルとそのトピックを示します (どちらも存在する場合)。

· SQLState プロパティと NativeError プロパティは、ODBC データ ソースからの情報を提供します。

プロバイダ エラーが発生すると、そのエラーが Connection オブジェクトの Errors コレクションに格納されます。有効な Connection オブジェクトがまったくない場合は、Microsoft(R) Visual Basic(R) for Applications の Err オブジェクトからエラー情報を取得する必要があります。ADO は 1 回の ADO 操作によって複数のエラーを返す機能をサポートしており、プロバイダ固有のエラー情報を扱うことができます。

ADO は、次に示す ADO 固有のエラーを返すことができます。

定数名

番号

説明

adErrInvalidArgument

3001

使用した引数の型に誤りがあるか、引数が有効範囲外の値であるか、または別の引数と競合しています。

adErrNoCurrentRecord

3021

BOFEOF のどちらかが True です。または、カレント レコードが必要な操作を要求しましたが、カレント レコードが削除されています。

adErrIllegalOperation

3219

このコンテキストでは要求した操作は行えません。

adErrInTransaction

3246

トランザクションの実行中に明示的に Connection オブジェクトを閉じていない可能性があります。

adErrFeatureNotAvailable

3251

プロバイダは要求した操作をサポートしていません。

adErrItemNotFound

3265

ADO は、要求した名前または序数参照に対応するコレクションの中で、オブジェクトを見つけることができませんでした。

adErrObjectNotSet

3420

使用しているオブジェクト参照は有効なオブジェクトを指していません。

adErrDataConversion

3421

現在の操作で使用した値の型に誤りがあります。

adErrObjectClosed

3704

要求した操作はオブジェクトが閉じている場合には行えません。

adErrObjectOpen

3705

要求した操作はオブジェクトが開いている場合には行えません。

adErrProviderNotFound

3706

ADO は指定されたプロバイダを見つけることができませんでした。

adErrBoundToCommand

3707

Command オブジェクトをソースとして Recordset オブジェクトの ActiveConnection プロパティを変更することができません。

adErrInvalidParamInfo

3708

Parameter オブジェクトの定義に誤りがあります。

adErrInvalidConnection

3709

閉じた、または無効な Connection オブジェクトへの参照を使ってオブジェクトへの操作を要求しました。

ADO は、プロバイダとまったく同じように OLE Error Info オブジェクトをクリアしてから、新しいエラーを出す可能性のある呼び出しを行います。ただし、Connection オブジェクトの Errors コレクションは、ADO またはプロバイダが新しいエラーを出したときだけクリアされ、収集されます。

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

コレクション内の Error オブジェクトを序数を使って参照する場合は、次のどちらかの構文を使います。

connection.Errors.Item(0)
connection.Errors(0)

関連項目

ConnectionErrorsItem