Freigeben über


Delete-Methode (ADO-Recordset)

Löscht den aktuellen Datensatz oder eine Gruppe von Datensätzen.

Syntax

  
recordset.Delete AffectRecords  

Parameter

AffectRecords
Ein AffectEnum-Wert, der bestimmt, wie viele Datensätze von der Delete-Methode betroffen sein werden. Der Standardwert ist adAffectCurrent.

Hinweis

adAffectAll und adAffectAllChapters sind keine gültigen Argumente von Delete.

Bemerkungen

Mit der Delete-Methode wird der aktuelle Datensatz oder eine Gruppe von Datensätzen in einem Recordset-Objekt zum Löschen markiert. Wenn das Recordset-Objekt das Löschen von Datensätzen nicht zulässt, tritt ein Fehler auf. Wenn Sie sich im sofortigen Aktualisierungsmodus befinden, werden Löschungen in der Datenbank sofort durchgeführt. Wenn ein Datensatz nicht erfolgreich gelöscht werden kann (z. B. aufgrund von Verletzungen der Datenbankintegrität), bleibt der Datensatz nach dem Aufruf von Update im Bearbeitungsmodus. Dies bedeutet, dass Sie das Update mit CancelUpdate abbrechen müssen, bevor Sie den aktuellen Datensatz verlassen (z. B. mit Close, Move oder NextRecordset).

Wenn Sie sich im Batchupdatemodus befinden, werden die Datensätze zur Löschung aus dem Cache markiert, und die tatsächliche Löschung erfolgt, wenn Sie die UpdateBatch-Methode aufrufen. Verwenden Sie die Filter-Eigenschaft, um die gelöschten Datensätze anzuzeigen.

Das Abrufen von Feldwerten aus dem gelöschten Datensatz generiert einen Fehler. Wenn Sie einen Datensatz gelöscht haben, bleibt der gelöschte Datensatz so lange aktuell, bis Sie zu einem anderen Datensatz wechseln. Sobald Sie sich von dem gelöschten Datensatz entfernen, ist er nicht mehr zugänglich.

Wenn Sie Löschungen in einer Transaktion verschachteln, können Sie gelöschte Datensätze mit der RollbackTrans-Methode wiederherstellen. Wenn Sie sich im Modus Batchupdate befinden, können Sie eine ausstehende Löschung oder eine Gruppe von ausstehenden Löschungen mit der CancelBatch-Methode abbrechen.

Wenn der Versuch, Datensätze zu löschen, aufgrund eines Konflikts mit den zugrundeliegenden Daten fehlschlägt (z.B. weil ein Datensatz bereits von einem anderen Benutzer gelöscht wurde), gibt der Anbieter Warnungen an die Errors-Auflistung zurück, hält die Programmausführung aber nicht an. Ein Laufzeitfehler tritt nur auf, wenn es bei allen angeforderten Datensätzen Konflikte gibt.

Wenn die dynamische Eigenschaft Unique Table festgelegt ist und das Recordset das Ergebnis eines JOIN-Vorgangs mit mehreren Tabellen ist, löscht die Delete-Methode nur Zeilen aus der in der Unique Table-Eigenschaft genannten Tabelle.

Gilt für

Recordset-Objekt (ADO)

Weitere Informationen

Delete-Methode – Beispiel (VB)
Delete-Methode – Beispiel (VBScript)
Delete-Methode – Beispiel (VC++)
Delete-Methode (ADO-Fields-Collection)
Delete-Methode (ADO-Parameters-Collection)
DeleteRecord-Methode (ADO)