次の方法で共有


Delete メソッド (ADO Recordset)

現在のレコードまたはレコードのグループを削除します。

構文

  
recordset.Delete AffectRecords  

パラメーター

AffectRecords
Delete メソッドが影響を受けるレコードの数を決定する AffectEnum 値です。 既定値は adAffectCurrent です。

手記

adAffectAll adAffectAllChapters Delete する有効な引数ではありません。

備考

Delete メソッドを使用すると、現在のレコードまたはレコードのグループが Recordset オブジェクトに削除対象としてマークされます。 Recordset オブジェクトでレコードの削除が許可されていない場合は、エラーが発生します。 即時更新モードの場合は、データベース内ですぐに削除が行われます。 レコードを正常に削除できない場合 (データベースの整合性違反など)、Updateの呼び出し後もレコードは編集モードのままです。 つまり、現在のレコードから移動する前に、CancelUpdate で更新を取り消す必要があります (たとえば、閉じるの移動、NextRecordset )。

バッチ更新モードの場合、レコードはキャッシュから削除対象としてマークされ、UpdateBatch メソッドを呼び出すと実際の削除が行われます。 Filter プロパティを使用して、削除されたレコードを表示します。

削除されたレコードからフィールド値を取得すると、エラーが発生します。 現在のレコードを削除した後、別のレコードに移動するまで、削除されたレコードは最新の状態のままになります。 削除されたレコードから離れると、アクセスできなくなります。

トランザクションで削除を入れ子にした場合は、RollbackTrans メソッドを使用して削除されたレコードを回復できます。 バッチ更新モードの場合は、CancelBatch メソッドを使用して、保留中の削除または保留中の削除のグループを取り消すことができます。

基になるデータとの競合が原因でレコードの削除が失敗した場合 (たとえば、レコードが別のユーザーによって既に削除されている場合)、プロバイダーは Errors コレクションに警告を返しますが、プログラムの実行は停止しません。 実行時エラーは、要求されたすべてのレコードに競合がある場合にのみ発生します。

Unique Table 動的プロパティが設定され、Recordset が複数のテーブルに対して JOIN 操作を実行した結果である場合、Delete メソッドは、Unique Table プロパティで指定されたテーブルの行のみを削除します。

適用対象

Recordset オブジェクト (ADO)

関連項目

Delete メソッドの使用例 (VB)
Delete メソッドの使用例 (VBScript)
Delete メソッドの使用例 (VC++)
Delete メソッド (ADO Fields コレクション)
Delete メソッド (ADO Parameters コレクション)
DeleteRecord メソッド (ADO)