Compartilhar via


Eventos WillChangeRecord e RecordChangeComplete (ADO)

O evento WillChangeRecord é chamado antes de um ou mais registros (linhas) na alteração do Recordset. O evento RecordChangeComplete é chamado após uma ou mais alterações de registros.

Sintaxe

  
WillChangeRecord adReason, cRecords, adStatus, pRecordset  
RecordChangeCompleteadReason, cRecords, pError, adStatus, pRecordset  

Parâmetros

adReason
Um valor EventReasonEnum que especifica o motivo desse evento. O valor dele pode ser adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete ou adRsnFirstChange.

cRecords
Um valor Long que indica o número de registros alterados (afetados).

pError
Um objeto Error. Ele descreve o erro ocorrido se o valor de adStatus é adStatusErrorsOccurred, caso contrário, ele não é definido.

adStatus
Um valor de status EventStatusEnum.

Quando WillChangeRecord é chamado, esse parâmetro é definido como adStatusOK se a operação que causou o evento foi bem-sucedida. Ele será definido como adStatusCantDeny se esse evento não puder solicitar o cancelamento da operação pendente.

Quando RecordChangeComplete é chamado, esse parâmetro é definido como adStatusOK se a operação que causou o evento foi bem-sucedida ou como adStatusErrorsOccurred se houve uma falha na operação.

Antes que WillChangeRecord seja retornado, defina esse parâmetro como adStatusCancel para solicitar o cancelamento da operação que causou esse evento ou defina esse parâmetro como adStatusUnwantedEvent para evitar as notificações seguintes.

Antes que RecordChangeComplete seja retornado, defina esse parâmetro como adStatusUnwantedEvent para evitar as notificações seguintes.

pRecordset
Um objeto Recordset. O Recordset para o qual esse evento ocorreu.

Comentários

Um evento WillChangeRecord ou RecordChangeComplete pode ocorrer para o primeiro campo alterado em uma linha devido às seguintes operações de Recordset: Update, Delete, CancelUpdate, AddNew, UpdateBatch e CancelBatch. O valor do CursorType do conjunto de registros determina quais operações fazem com que os eventos ocorram.

Durante o evento WillChangeRecord , a propriedade Recordset Filter é definida como adFilterAffectedRecords. Não é possível alterar essa propriedade durante o processamento do evento.

Você precisa definir o parâmetro adStatus como adStatusUnwanteprecisant para cada valor adReason possível a fim de interromper completamente a notificação de eventos para qualquer evento que inclua um parâmetro adReason.

Confira também

Exemplo do modelo de eventos ADO (VC++)
Resumo do manipulador de eventos ADO