項目

帳票フォームをリクエリー後元の位置へ移動する

概要

帳票フォームを更新処理後にリクエリーすると位置が先頭になってしまう。 Me.CurrentRecordにて更新前の位置を覚えておきリクエリー後にその場所へ移動する。       


Option Compare Database
Option Explicit

Dim m_offset As Long  'レコード位置記憶用

'--------------------------------------------------------
' 名称    : cmdレコード位置を記憶_Click
'
' 機能    : レコード位置記憶
'--------------------------------------------------------
Private Sub cmdレコード位置を記憶_Click()

    
    '位置を覚えておく
    m_offset = Me.CurrentRecord
    
End Sub

'--------------------------------------------------------
' 名称    : cmdReqery_Click
'
' 機能    : リクエリー後元にレコードへ移動する
'--------------------------------------------------------
Private Sub cmdReqery_Click()

    DoCmd.Echo False
    
    'リクエリー
    Me.Requery
    
    'エラー無視
    On Error Resume Next
    
    '覚えていた位置へ移動
    DoCmd.GoToRecord , , acGoTo, m_offset
    
    DoCmd.Echo True
    
End Sub