●概要●
構文 expression.GoToRecord(ObjectType, ObjectName, Record, Offset)
設定項目 内容
expression DoCmdオブジェクト[省略不可]
ObjectType オブジェクトの種類をAcDataObjectTypeクラスの定数で指定
[省略可能]
ObjectName オブジェクト名を文字列式で指定[省略可能]
Record カレントレコードにするレコードをAcRecordクラスの定数で指定
[省略可能]
Offset 移動先のレコードを数式で指定[省略可能]
カレントフォームでレコードを移動する場合は、引数との指定は不要です。引数の数値の意味は、引数で指定した値によって異なります。にacNextかacPreviousを指定した場合は、移動するレコード数になります。acGoToを指定した場合は、移動先のレコード番号になります。省略した場合は、「1」が指定されたことになります。また、acFirst、acLast、acNewRecを指定した場合、引数は無視されます。
引数とに指定する定数は下記を参照してください。
・引数に指定する定数(acDataObjectTypeクラス)
定数 説明
acActiveDataObject アクティブオブジェクト(既定値)
acDataForm フォーム
acDataFunction 関数
acDataQuery クエリ
acDataServerView サーバービュー
acDataStoredProcedure ストアド プロシージャ
acDataTable テーブル
・引数に指定する定数(acRecordクラス)
定数 説明
acFirst 先頭のレコード
acGoTo 移動先指定
acLast 最後のレコード
acNewRec 新しいレコード
acNext 次のレコード(既定値)
acPrevious 前のレコード
次のコードは、レコードを移動するためのコマンドボタンの機能を作成したものです。
●サンプル1●
'先頭のレコードに移動する
Private Sub cmd先頭_Click()
On Error GoTo ErrHandler
'先頭のレコードに移動
DoCmd.GoToRecord , , acFirst
Exit Sub
'エラー処理
ErrHandler:
MsgBox "移動できません"
End Sub
●サンプル2●
'前のレコードに移動する
Private Sub cmd前_Click()
On Error GoTo ErrHandler
'前のレコードに移動
DoCmd.GoToRecord , , acPrevious
Exit Sub
'エラー処理
ErrHandler:
MsgBox "移動できません"
End Sub
●サンプル3●
'指定した番号のレコードに移動する
Private Sub cmdジャンプ_Click()
On Error GoTo ErrHandler
'指定したレコード番号のレコードに移動
DoCmd.GoToRecord , , acGoTo, Me!txtNO
Exit Sub
'エラー処理
ErrHandler:
MsgBox "移動できません"
End Sub
●実行結果●
指定されたレコードに移動します。「ジャンプ」を使うときには、テキストボックスに表示したいレコード番号を入力します。なお、このコードでは、移動先を指定してレコードを移動する場合以外、テキストボックスへの入力は無視されます。移動ができない場合は、メッセージボックスに「移動できません」と表示されます。