https://hatenachips.blog.fc2.com/blog-entry-242.html
上記、はてな様の帳票におけるタブ活用を利用しております。
大変ぜいたくな悩みが1点あります。帳票のレコードを下の方までスクロールしていってタブを切り替えたとき、一番上のレコードまで戻ってしまう現象が気になっています。
タブを切り替えても画面が戻らない方法はありますでしょうか。
申し訳ありませんが、ご回答いただければ幸いです。
https://hatenachips.blog.fc2.com/blog-entry-242.html
上記、はてな様の帳票におけるタブ活用を利用しております。
大変ぜいたくな悩みが1点あります。帳票のレコードを下の方までスクロールしていってタブを切り替えたとき、一番上のレコードまで戻ってしまう現象が気になっています。
タブを切り替えても画面が戻らない方法はありますでしょうか。
申し訳ありませんが、ご回答いただければ幸いです。
当方の環境でサンプルファイルで確認してみましたが、質問の症状は再現できませんでした。
サンプルファイルになにか追加してませんか。
例えば、再クエリをすると先頭レコードへ移動しますが、どこかで再クエリをするような処理をしてませんか。
なるほど、そういうことですね…ご確認ありがとうございます。お手数をおかけしました。ご指摘の件を確認してみます。
確認してみたところ、以前教えていただいた帳票の、各データに紐づくコンボボックス(テキストボックスと重ねている)の選択肢部分で「Requery」を使っていました。
この機能を使うと先頭レコードへの移動は防げない、ということになりますでしょうか。
わがままな願望ですかね・・申し訳ありません。
フォームに対して Requery してしまっているのでしょう。
コンボボックスに対してRequeryしてください。そうすれば移動しません。
Me.コンボボックス名.Requery
Requeryはコンボボックスに対してしていたのですが、
その後原因?がわかりました。
現在下記のソースを使っていました。
Private Sub Tab1_Change()
Me.Tab2.Pages(Me.Tab1).SetFocus
End Sub
しかし、下記のソースに差し替えたところ、うまくいくようになりました。
Private Sub Tab1_Change()
Me.Tab2 = Me.Tab1
End Sub
勘違い?かもしれませんが、一応ご報告でした。
ご教示、ありがとうございました。