Eventos WillChangeRecord e RecordChangeComplete (ADO)
Aplica-se ao: Access 2013, Office 2013
O evento WillChangeRecord é chamado antes da alteração de um ou mais registros (linhas) no Recordset. O evento RecordChangeComplete é chamado depois da alteração de um ou mais registros.
Sintaxe
WillChangeRecordadReason, cRecords, adStatus, pRecordset
RecordChangeCompleteadReason, cRecords, pError, adStatus, pRecordset
Parâmetros
Parâmetro | Descrição |
---|---|
adReason | Um valor EventReasonEnum que especifica a razão para esse evento. Seu valor pode ser adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete ou adRsnFirstChange. |
cRegistos | Um valor Long que indica o número de registros que foram alterados (afetados). |
pError | Um objeto Error. Descreve o erro ocorrido se o valor de adStatus for adStatusErrorsOccurred; caso contrário, não será definido. |
adStatus |
EventStatusEnum. Quando WillChangeRecord é chamado, esse parâmetro é definido como adStatusOK se a operação que gerou 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 gerou o evento foi bem-sucedida, ou como adStatusErrorsOccurred se a operação falhar. Antes do retorno de WillChangeRecord, defina esse parâmetro como adStatusCancel, para solicitar o cancelamento da operação que gerou esse evento, ou como adStatusUnwantedEvent para evitar notificações subsequentes. Antes do retorno de RecordChangeComplete, defina esse parâmetro como adStatusUnwantedEvent para evitar notificações subsequentes. |
pRecordset | Um objeto Recordset. O Recordset para o qual esse evento ocorreu. |
Comentários
Um evento WillChangeRecord ou RecordChangeComplete pode ocorrer para o campo alterado em uma linha devido às seguintes operações de Recordset: Update, Delete, CancelUpdate, AddNew, UpdateBatch e CancelBatch. O valor do RecordsetCursorType determina quais operações geraram o evento.
Durante o evento WillChangeRecord, a propriedade Filter do Recordset é definida como adFilterAffectedRecords. Você não poderá alterar essa propriedade enquanto estiver processando o evento.
Você deve definir o parâmetro adStatus como adStatusUnwantedEvent para cada valor adReason possível, a fim de interromper totalmente as notificações de qualquer evento que inclua o parâmetro adReason.