使用方法
oradynaset.MovePreviousn offset oradynaset.MoveNextn offset oradynaset.MoveRel offset oradynaset.MoveTo offset
MoveNextnメソッド
オフセットのレコード分、次に進みます。
MovePreviousnメソッド
オフセットのレコード分、前に戻ります。
MoveRelメソッド
現行の行を基準にしてオフセットのレコード分、移動します。正の値(プラス(+)記号で表される)はカーソルを表の下方向に移動し、負の値はカーソルを表の上方向に移動します。
MoveToメソッド
行番号オフセットに直接移動します。
備考
カーソルがMoveNextn
、MoveRel
またはMoveTo
メソッドを使用してダイナセットの最後を超えて移動すると、EOF
が設定されます。カーソルがMovePreviousn
、MoveRel
またはMoveTo
メソッドを使用してダイナセットの最初を超えて移動すると、BOF
が設定されます。MoveNextn
、MovePreviousn
およびMoveTo
メソッドは正の整数のみオフセットとして受け入れます。MoveRel
メソッドは、正と負の両方の整数をオフセットとして受け入れます。
MoveTo
rownum
は、その行が削除されないかぎり、常に同じ行を取得します。要求された行が削除されていた場合、MoveTo
メソッドは、有効な次の行に移動します。MoveNextn
、MovePreviousn
、MoveRel
およびMoveTo
メソッドでは、削除された行は考慮されないため、行番号の相対的な位置に基づいてこれらのメソッドを使用する場合は注意してください。
例
この例では、MovePreviousn
、MoveNextn
、MoveRel
およびMoveTo
メソッドの使用方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[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