oradynaset.MovePreviousn offset oradynaset.MoveNextn offset oradynaset.MoveRel offset oradynaset.MoveTo offset
Moves offset records forward.
Moves offset records backward.
Moves offset records relative to the current row. A positive value, represented by a plus (+) sign, moves the cursor down the table, and a negative value moves the cursor up the table.
Moves directly to row number offset.
EOF
is set when the cursor moves beyond the end of a dynaset using MoveNextn
, MoveRel
, or MoveTo
methods. BOF
is set when the cursor moves beyond the start of a dynaset using MovePreviousn
, MoveRel
, or MoveTo
methods. The MoveNextn
, MovePreviousn
, and MoveTo
methods accept offset as a positive integer only. The MoveRel
methods accepts offset as either a positive or a negative integer.
The MoveTo
rownum
always gets the same row unless the row has been deleted. If the requested row has been deleted, the MoveTo
method moves to the next valid row. The MoveNextn
, MovePreviousn
, MoveRel
, and MoveTo
methods do not take into account deleted rows, so be cautious when using these methods based on relative positions of row numbers.
This example demonstrates the use of the MovePreviousn
, MoveNextn
, MoveRel
, and MoveTo
methods. Copy and paste this code into the definition section of a form. Then, press F5.
Private Sub Form_Load() Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset Dim OraFields As OraFields Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "SCOTT/TIGER", 0&) Set OraDynaset = OraDatabase.CreateDynaset("select * from emp where empno" & _ ">=7654 and empno <= 7844 ", ORADYN_NO LANKSTRIP) Set OraFields = OraDynaset.Fields 'Move to 3rd record from the first record OraDynaset.MoveNextn 3 'Should set EOF to true MsgBox OraFields("ename").Value ' Should be display SCOTT If OraDynaset.EOF = True Then MsgBox "End of the record reached" End If 'Move back from the current record by the offset 2 OraDynaset.MovePreviousn 2 MsgBox OraFields("ename").Value ' Should be display BLAKE If OraDynaset.BOF = True Then MsgBox "Start of the record reached" End If 'Move relative in the forward direction OraDynaset.MoveRel 2 MsgBox OraFields("ename").Value ' Should be display SCOTT If OraDynaset.EOF = True Then MsgBox "End of the record reached" End If 'Move relative in the backward direction OraDynaset.MoveRel -2 MsgBox OraFields("ename").Value ' Should be display BLAKE If OraDynaset.BOF = True Then MsgBox "Start of the record reached" End If 'Move to the record position 4 in the current dynaset OraDynaset.MoveTo 4 MsgBox OraFields("ename").Value ' Should be display SCOTT End Sub