Compartir a través de


Eventos WillChangeRecord y RecordChangeComplete (ADO)

Se aplica a: Access 2013, Office 2013

El evento WillChangeRecord se usa (recibe una llamada) antes de cualquier cambio en uno o más registros (filas) del objeto Recordset. El evento RecordChangeComplete recibe una llamada después de cualquier cambio en uno o más registros.

Sintaxis

WillChangeRecordadReason, cRecords, adStatus, pRecordset

RecordChangeCompleteadReason, cRecords, pError, adStatus, pRecordset

Parámetros

Parámetro Descripción
adReason An EventReasonEnum value that specifies the reason for this event. Its value can be adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete, or adRsnFirstChange.
cRecords Valor Long que indica el número de registros cambiados (afectados).
pError Objeto Error. Describe el error que se produjo si el valor de adStatus es adStatusErrorsOccurred; de lo contrario, no se establece ningún valor.
adStatus EventStatusEnum. Cuando se realiza una llamada a WillChangeRecord, este parámetro se establece en adStatusOK si la operación que provocó el evento se realizó correctamente. Se establece en adStatusCantDeny si este evento no puede solicitar cancelación de la operación pendiente.

Cuando se llama a RecordChangeComplete, este parámetro se establece en adStatusOK si la operación que provocó el evento se realizó correctamente, o en adStatusErrorsOccurred si se produjo un error en la operación.

Antes de que WillChangeRecord vuelva, establezca este parámetro en adStatusCancel para solicitar la cancelación de la operación que causó este evento, o en adStatusUnwantedEvent para impedir notificaciones posteriores.

Antes de que RecordChangeComplete vuelva, establezca este parámetro en adStatusUnwantedEvent para impedir notificaciones posteriores.
pRecordset Objeto Recordset. El objeto Recordset para el que se produjo este evento.

Comentarios

Un evento WillChangeRecord o RecordChangeComplete se puede producir para el primer campo cambiados de una fila debido a las operaciones del objeto Recordset siguientes: Update , Delete, CancelUpdate, AddNew, UpdateBatch y CancelBatch. El valor del CursorType del objeto Recordset determina qué operaciones hacen que se produzca el evento.

Durante el evento WillChangeRecord, la propiedad Filter del objeto Recordset se establece en adFilterAffectedRecords. No es posible cambiar esta propiedad mientras se procesa el evento.

Deberá establecer el parámetro adStatus en adStatusUnwantedEvent para cada valor posible de adReason con el fin de detener completamente la notificación de eventos para cualquier evento que incluya un parámetro adReason.