#163 再クエリー後に元のレコードに移動する方法 フォーム、VBA

フォームなどで再クエリーを実行すると、カレントレコードが先頭のレコードに移動してしまいます。ここで紹介するのは、再クエリー後、一度は先頭のレコードに移動しますが、直ちに再クエリー直前にあったレコードにカレントレコードを戻す方法です。

それには、フォームの、例えば[再クエリー]といった名前のコマンドボタンのクリック時イベントプロシージャなどに以下のコードを記述します。
Dim rst As Recordset
Dim varBookMark As Variant

'フォームのレコードセットを変数にセットします
Set rst = Me.Recordset
'レコードセットのブックマークを取得します
'これが再クエリー前のカレントレコードを表します
varBookMark = rst.Bookmark
'フォームを再クエリーします
Me.Requery
'カレントレコードを保存されているブックマークに設定します
rst.Bookmark = varBookMark
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved