Eventos WillChangeRecord y RecordChangeComplete (ADO)
Se llama al evento WillChangeRecord antes de uno o varios registros (filas) en el cambio del objeto Recordset. Se llama al evento RecordChangeComplete después de cambiar uno o varios registros.
Sintaxis
WillChangeRecord adReason, cRecords, adStatus, pRecordset
RecordChangeCompleteadReason, cRecords, pError, adStatus, pRecordset
Parámetros
adReason
Valor EventReasonEnum que especifica el motivo de este evento. Su valor puede ser adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete o adRsnFirstChange.
cRecords
Valor Long que indica el número de registros que cambian (afectados).
pError
Objeto Error. Describe el error que se produjo si el valor de adStatus es adStatusErrorsOccurred; de lo contrario, no está establecido.
adStatus
Valor de estado EventStatusEnum.
Cuando se llama 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 la 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 devuelva, establezca este parámetro en adStatusCancel para solicitar la cancelación de la operación que provocó este evento o establecer este parámetro en adStatusUnwantedEvent para evitar notificaciones posteriores.
Antes de que se devuelva EndOfRecordset, establezca este parámetro en adStatusUnwantedEvent para evitar las notificaciones posteriores.
pRecordset
Objeto Recordset. Objeto Recordset para el que se produjo este evento.
Comentarios
Un evento WillChangeRecord o RecordChangeComplete puede producirse para el primer campo cambiado en una fila debido a las siguientes operaciones Recordset: Update, Delete, CancelUpdate, AddNew, UpdateBatch y CancelBatch. El valor de Recordset CursorType determina qué operaciones hacen que se produzcan los eventos.
Durante el evento WillChangeRecord, la propiedad Filter del objeto Recordset se establece en adFilterAffectedRecords. No se puede cambiar esta propiedad mientras se procesa el evento.
Debe establecer el parámetro adStatus en adStatusUnwantedEvent para cada valor posible de adReason para detener completamente la notificación de eventos para cualquier evento que incluya un parámetro adReason.
Consulte también
Ejemplo de modelo de eventos de ADO (VC ++)
Conexión ADO y los eventos de conjunto de registros