Eventos WillChangeRecordset e RecordsetChangeComplete (ADO)
O evento WillChangeRecordset é chamado antes que uma operação pendente altere o Recordset. O evento RecordsetChangeComplete é chamado após a alteração do Recordset.
Sintaxe
WillChangeRecordset adReason, adStatus, pRecordset
RecordsetChangeComplete adReason, pError, adStatus, pRecordset
Parâmetros
adReason
Um valor EventReasonEnum que especifica o motivo desse evento. O valor dele pode ser adRsnRequery, adRsnResynch, adRsnClose ou adRsnOpen.
adStatus
Um valor de status EventStatusEnum.
Quando WillChangeRecordset é 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 RecordsetChangeComplete é chamado, esse parâmetro é definido como adStatusOK se a operação que causou o evento foi bem-sucedida, adStatusErrorsOccurred se a operação falhou ou adStatusCancel se a operação associada ao evento WillChangeRecordset aceito anteriormente foi cancelada.
Antes que WillChangeRecordset seja retornado, defina esse parâmetro como adStatusCancel para solicitar o cancelamento da operação pendente ou defina esse parâmetro como adStatusUnwantedEvent para evitar notificações posteriores.
Antes de WillChangeRecordset ou RecordsetChangeComplete ser retornado, defina esse parâmetro como adStatusUnwantedEvent para evitar notificações posteriores.
pError
Um objeto Error. Ele descreve o erro ocorrido se o valor de adStatus é adStatusErrorsOccurred, caso contrário, ele não é definido.
pRecordset
Um objeto Recordset. O Recordset para o qual esse evento ocorreu.
Comentários
Um evento WillChangeRecordset ou RecordsetChangeComplete pode ocorrer devido aos métodos Recordset Requery ou Open .
Se o provedor não der suporte a indicadores, uma notificação de eventos RecordsetChange ocorrerá sempre que novas linhas forem recuperadas do provedor. A frequência desse evento depende da propriedade RecordsetCacheSize.
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