WillChangeRecord- und RecordChangeComplete-Ereignis (ADO)
Das WillChangeRecord-Ereignis wird aufgerufen, bevor mindestens ein Datensatz (Zeile) im Recordset geändert wird. Das RecordChangeComplete-Ereignis wird aufgerufen, nachdem mindestens ein Datensatz geändert wurde.
Syntax
WillChangeRecord adReason, cRecords, adStatus, pRecordset
RecordChangeCompleteadReason, cRecords, pError, adStatus, pRecordset
Parameter
adReason
Ein EventReasonEnum-Wert, der den Grund für dieses Ereignis angibt. Der Wert kann adRsnAddNew, adRsnDelete, adRsnUpdate, adRsnUndoUpdate, adRsnUndoAddNew, adRsnUndoDelete oder adRsnFirstChange.
cRecords
Ein Long-Wert, der die Anzahl der Datensätze angibt, die geändert werden (betroffen).
pError
Ein Error-Objekt. Dieser Parameter enthält eine Beschreibung des aufgetretenen Fehlers, wenn adStatus den Wert adStatusErrorsOccurred aufweist. Andernfalls ist er nicht festgelegt.
adStatus
Ein EventStatusEnum-Statuswert.
Wenn WillChangeRecord aufgerufen wird, wird dieser Parameter auf adStatusOK festgelegt, wenn der Vorgang, der das Ereignis verursacht hat, erfolgreich war. Es wird auf adStatusCantDeny festgelegt, wenn dieses Ereignis keinen Abbruch des ausstehenden Vorgangs anfordern kann.
Wenn RecordChangeComplete aufgerufen wird, wird dieser Parameter auf adStatusOK festgelegt, wenn der Vorgang, der das Ereignis verursacht hat, erfolgreich war, oder auf adStatusErrorsOccurred, wenn der Vorgang fehlgeschlagen ist.
Legen Sie diesen Parameter vor dem Zurückgeben von WillChangeRecord auf adStatusCancel fest, um den Abbruch des Vorgangs anzufordern, der dieses Ereignis ausgelöst hat, oder legen Sie diesen Parameter auf adStatusUnwantedEvent fest, um nachfolgende Benachrichtigungen zu verhindern.
Bevor RecordChangeComplete zurückgegeben wird, setzen Sie den Parameter auf adStatusUnwantedEvent, um weitere Benachrichtigungen zu verhindern.
pRecordset
Ein Recordset-Objekt. Das Recordset, für das dieses Ereignis aufgetreten ist.
Hinweise
Ein WillChangeRecord- oder RecordChangeComplete-Ereignis kann für das erste geänderte Feld in einer Zeile aufgrund der folgenden Recordset-Vorgänge auftreten: Update, Delete, CancelUpdate, AddNew, UpdateBatch und CancelBatch. Der Wert des Recordset CursorType bestimmt, welche Vorgänge die Ereignisse verursachen.
Während des WillChangeRecord-Ereignisses wird die Recordset Filter-Eigenschaft auf "adFilterAffectedRecords" festgelegt. Diese Eigenschaft kann beim Verarbeiten des Ereignisses nicht geändert werden.
Sie müssen den adStatus-Parameter auf adStatusUnwantedEvent für jeden möglichen adReason-Wert festlegen, um die Ereignisbenachrichtigung für jedes Ereignis, das einen adReason-Parameter enthält, vollständig zu beenden.
Weitere Informationen
ADO-Ereignismodell – Beispiel (VC++)
ADO-Ereignishandler – Zusammenfassung