適用対象
説明
指定されたダイナセット内の指定された行にカーソル位置を変更します。
使用方法
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メソッドでは、削除された行は考慮されないため、行番号の相対的な位置に基づいてこれらのメソッドを使用する場合は注意してください。
データ型
Long Integer
例
この例では、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