From RAD Studio API Documentation
Jump to: navigation, search


property OnWillMove: TRecordsetReasonEvent read FOnWillMove write FOnWillMove;


__property TRecordsetReasonEvent OnWillMove = {read=FOnWillMove, write=FOnWillMove};


Type Visibility Source Unit Parent
event published
Data.Win.ADODB TCustomADODataSet


Occurs before the row pointer in a recordset is moved.

Write an OnWillMove event handler to take specific action before an attempt to move the row pointer in the dataset component's Recordset object. Calls to the First, Last, Next, Prior, MoveBy, Insert, Delete, Post, Requery, and Resynch methods can lead to the firing of this event. Setting or getting a bookmark can also trigger the event.

DataSet is the ADO dataset component that triggered the OnWillMove event. This dataset component also contains the recordset in question.

Reason indicates the type of move that triggered the event. While the TEventReason type contains more constants, the value of Reason for an OnWillMove event is limited to: erRequery, erMove, erMoveFirst, erMoveNext, erMovePrevious, and erMoveLast.

The EventStatus value (ADO EventStatusEnum) indicates the success or failure of the execution of the operation that triggered the event.

Note:  : A Recordset object's row pointer is distinct from the record pointer of its ADO dataset component. It is possible that the ADO Recordset object will generate row movement events without the ADO dataset component generating a BeforeScroll or AfterScroll event. The reasons for this are background updating and resynchronizing of the records as data is changed. The OnWillMove event is purely a Recordset object event, and independent of any dataset component record navigation events.

See Also