Status

(PWS4 IIS4 IIS5)
Status — Field オブジェクトのステータスを示します。

構文

object.Status

パラメータ

object Fields オブジェクトを指定します。

戻り値

FieldStatusEnum 値を返します。既定値は adFieldOK です。

説明

Record または Recordset の Fields コレクション内の Field オブジェクトの値を変更すると、変更内容はそのオブジェクトの Update メソッドを呼び出すまでキャッシュされます。Update メソッドが呼び出されたときに、Field の値に対する変更がエラーになると、OLE DB ではエラー DB_E_ERRORSOCCURRED (2147749409) が発生します。Fields コレクションに属する、エラーを起こしたすべての Field オブジェクトの Status プロパティには、問題の原因を示す FieldStatusEnum 値が格納されます。

Record オブジェクトの Fields コレクションに対する追加データや削除データは、Update メソッドを呼び出すまでキャッシュされます。Status プロパティでは、追加または削除に成功したフィールドを確認できます。

パフォーマンスを向上させるために、Update が呼び出されるまでスキーマの変更はキャッシュされ、その変更は共有的なバッチ更新時に反映されます。Update メソッドが呼び出されなければ、サーバーは更新されません。更新が失敗すると、OLE DB プロバイダ エラー (DB_E_ERRORSOCCURRED) が返されます。また、Status プロパティは、操作とエラー ステータスコードが組み合わさった値を示します。たとえば、adFieldPendingInsert OR adFieldPermissionDenied はその例です。Field が追加、変更、または削除されなかった理由は、各 Field の Status プロパティで確認できます。

Field の追加、変更、または削除の際に発生した多くの種類の問題が Status プロパティ経由で報告されます。たとえば、ユーザーが Field を削除すると、その Field には Fields コレクションから削除されたことを示すマークが付けられます。ユーザーに権限が与えられていない Field を削除しようとしたことが原因で、その後の Update でエラーが返されると、Field の Status は adFieldPermissionDenied OR adFieldPendingDelete になります。CancelUpdate メソッドを呼び出すと、元の値が復元され、Status は adFieldOK に設定されます。

同様に、新規 Field が追加され、不適切な値が割り当てられると、Update メソッドでエラーが返されます。その場合、新規 Field は Fields コレクションに入りますが、そのステータスは adFieldPendingInsert となり、場合によっては adFieldCantCreate になります (プロバイダによります)。この新規 Field には適切な値を指定して、Update を再び呼び出すことができます。