Eventi WillChangeRecord e RecordChangeComplete (ADO)

L'evento WillChangeRecord viene chiamato prima di uno o più record (righe) nella modifica di Recordset. L'evento RecordChangeComplete viene chiamato dopo una o più modifiche dei record.

Sintassi

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

Parametri

adReason
Valore EventReasonEnum che specifica il motivo di questo evento. Il relativo valore può essere adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete o adRsnFirstChange.

cRecords
Valore Long che indica il numero di record che cambiano (interessati).

pError
Oggetto Error. Descrive l'errore che si è verificato se il valore di adStatus è adStatusErrorsOccurred. In caso contrario, non è impostato.

adStatus
Valore di stato EventStatusEnum.

Quando viene chiamato WillChangeRecord, questo parametro viene impostato su adStatusOK se l'operazione che ha generato l'evento è riuscita. È impostato su adStatusCantDeny se questo evento non può richiedere l'annullamento dell'operazione in sospeso.

Quando viene chiamato RecordChangeComplete, questo parametro viene impostato su adStatusOK se l'operazione che ha generato l'evento è riuscita o su adStatusErrorsOccurred se l'operazione non è riuscita.

Prima di restituire WillChangeRecord, impostare questo parametro su adStatusCancel per richiedere l'annullamento dell'operazione che ha generato questo evento oppure impostare questo parametro su adStatusUnwantedEvent per impedire le notifiche successive.

Prima di restituire RecordChangeComplete, impostare questo parametro su adStatusUnwantedEvent per impedire le notifiche successive.

pRecordset
Oggetto Recordset. Recordset per cui si è verificato questo evento.

Osservazioni

Può verificarsi un evento WillChangeRecord o RecordChangeComplete per il primo campo modificato in una riga a causa delle operazioni di Recordset seguenti: Update, Delete, CancelUpdate, AddNew, UpdateBatch e CancelBatch. Il valore di CursorType di Recordset determina le operazioni che causano l'esecuzione degli eventi.

Durante l'evento WillChangeRecord la proprietà Filter di Recordset è impostata su adFilterAffectedRecords. Non è possibile modificare questa proprietà durante l'elaborazione dell'evento.

È necessario impostare il parametro adStatus su adStatusUnwantedEvent per ogni possibile valore adReason per arrestare completamente la notifica degli eventi per qualsiasi evento che include un parametro adReason.

Vedere anche

Esempio del modello di eventi ADO (VC++)
Riepilogo dei gestori eventi ADO