Compartir a través de


Delete (método, Recordset de ADO)

Se aplica a: Access 2013, Office 2013

Elimina el registro actual o un grupo de registros.

Sintaxis

conjunto de registros. Eliminar AffectRecords

Parámetros

Parámetro Descripción
AffectRecords Valor de AffectEnum que determina cuántos registros se verán afectados por el método Delete. El valor predeterminado es adAffectCurrent.

Nota:

adAffectAll y adAffectAllChapters no son argumentos válidos para el método Delete.

Comentarios

Si usa el método Delete, el registro actual o un grupo de registros de un objeto Recordset quedan marcados para su eliminación. Si el objeto Recordset no permite la eliminación de sus registros, se produce un error. Si se encuentra en modo de actualización inmediata, la eliminación se lleva a cabo inmediatamente en la base de datos. Si un registro no puede eliminarse correctamente (debido, por ejemplo, a infracciones de la integridad de la base de datos), el registro permanecerá en modo de edición tras llamar a Update. Esto significa que debe cancelar la actualización con CancelUpdate antes de salir del registro actual (por ejemplo, con Close, Move o NextRecordset).

Si se encuentra en modo de actualización por lotes, los registros se marcan para su eliminación de la caché y la eliminación se produce realmente al llamar al método UpdateBatch. (Utilice la propiedad Filter para ver los registros eliminados.)

Si recupera valores de campo del registro eliminado, se genera un error. Tras eliminar el registro actual, el registro eliminado permanece actual hasta que se mueva a otro registro. Cuando salga del registro eliminado, ya no podrá obtener acceso al mismo.

Si anida eliminaciones en una transacción, podrá recuperar los registros eliminados con el método RollbackTrans. Si está en modo de actualización por lotes, podrá cancelar una eliminación pendiente o un grupo de eliminaciones pendientes con el método CancelBatch.

Si un intento de eliminar registros genera un error debido a un conflicto con los datos subyacentes (por ejemplo, un registro ya ha sido eliminado anteriormente por otro usuario), el proveedor devuelve advertencias a la colección Errors pero no detiene la ejecución del programa. Se produce un error en tiempo de ejecución solo si hay conflictos en todos los registros solicitados.

Si está establecida la propiedad dinámica Unique Table y el objeto Recordset es el resultado de la ejecución de una operación JOIN en varias tablas, el método Delete eliminará únicamente las filas de la tabla especificada en la propiedad Unique Table.