ADO WillChangeRecord 和 RecordChangeComplete 事件
❮ 完整的 Recordset 对象参考
WillChangeRecord 事件
WillChangeRecord 事件在一条或多条记录更改之前触发。
注意:在此事件返回之前,将 status 参数设置为 adStatusCancel 可以取消导致此事件的操作,或将其设置为 adStatusUnwantedEvent 以防止后续通知。
RecordChangeComplete 事件
RecordChangeComplete 事件在一条或多条记录更改之后触发。
注意:在此方法返回之前,将 status 参数设置为 adStatusUnwantedEvent 以防止后续通知。
注意:如果您使用以下 Recordset 操作之一更改记录中的字段,则可能会发生 WillChangeRecord 事件或 RecordChangeComplete 事件:Update、Delete、CancelUpdate、AddNew、UpdateBatch 和 CancelBatch。
语法
WillChangeRecord reason,numrec,status,objRs
RecordChangeComplete reason,numrec,objErr,status,objRs
| 参数 | 描述 |
|---|---|
| reason | 一个 EventReasonEnum 值,指定此事件的原因 |
| numrec | 指示受影响的记录数 |
| status | 一个 EventStatusEnum 值,指示事件执行的状态 |
| objErr | 如果 status 设置为 adStatusErrorsOccurred,则描述错误的 Error 对象的名称,否则未设置 |
| objRs | 触发此事件的 Recordset 对象的名称 |
EventReasonEnum 值
| 常量 | 值 | 描述 |
|---|---|---|
| adRsnAddNew | 1 | 一个操作添加了一条新记录 |
| adRsnDelete | 2 | 一个操作删除了记录 |
| adRsnUpdate | 3 | 一个操作更新了现有记录 |
| adRsnUndoUpdate | 4 | 一个操作撤销了记录的更新 |
| adRsnUndoAddNew | 5 | 一个操作撤销了新记录的添加 |
| adRsnUndoDelete | 6 | 一个操作撤销了记录的删除 |
| adRsnFirstChange | 11 | 一个操作对记录进行了首次更改 |
EventStatusEnum 值
| 常量 | 值 | 描述 |
|---|---|---|
| adStatusOK | 1 | 导致事件的操作成功 |
| adStatusErrorsOccurred | 2 | 导致事件的操作失败 |
| adStatusCantDeny | 3 | 导致事件的操作无法取消 |
| adStatusCancel | 4 | 导致事件的操作已取消 |
| adStatusUnwantedEvent | 5 | 在事件方法执行完成之前阻止后续通知 |
❮ 完整的 Recordset 对象参考