Microsoft Access 掲示板

帳票タブを使う際の画面移動

5 コメント
views
4 フォロー

https://hatenachips.blog.fc2.com/blog-entry-242.html

上記、はてな様の帳票におけるタブ活用を利用しております。
大変ぜいたくな悩みが1点あります。帳票のレコードを下の方までスクロールしていってタブを切り替えたとき、一番上のレコードまで戻ってしまう現象が気になっています。
タブを切り替えても画面が戻らない方法はありますでしょうか。
申し訳ありませんが、ご回答いただければ幸いです。

cerophan
作成: 2020/07/14 (火) 17:16:30
通報 ...
1

当方の環境でサンプルファイルで確認してみましたが、質問の症状は再現できませんでした。

サンプルファイルになにか追加してませんか。
例えば、再クエリをすると先頭レコードへ移動しますが、どこかで再クエリをするような処理をしてませんか。

2
cerophan 2020/07/15 (水) 09:58:13 1d451@23a22

なるほど、そういうことですね…ご確認ありがとうございます。お手数をおかけしました。ご指摘の件を確認してみます。

3
cerophan 2020/07/15 (水) 12:03:39 1d451@23a22

確認してみたところ、以前教えていただいた帳票の、各データに紐づくコンボボックス(テキストボックスと重ねている)の選択肢部分で「Requery」を使っていました。
この機能を使うと先頭レコードへの移動は防げない、ということになりますでしょうか。
わがままな願望ですかね・・申し訳ありません。

4

確認してみたところ、以前教えていただいた帳票の、各データに紐づくコンボボックス(テキストボックスと重ねている)の選択肢部分で「Requery」を使っていました。

フォームに対して Requery してしまっているのでしょう。
コンボボックスに対してRequeryしてください。そうすれば移動しません。

Me.コンボボックス名.Requery

5
cerophan 2020/07/15 (水) 14:22:43 1d451@23a22 >> 4

Requeryはコンボボックスに対してしていたのですが、
その後原因?がわかりました。
現在下記のソースを使っていました。

Private Sub Tab1_Change()
    Me.Tab2.Pages(Me.Tab1).SetFocus
End Sub

しかし、下記のソースに差し替えたところ、うまくいくようになりました。

Private Sub Tab1_Change()
    Me.Tab2 = Me.Tab1
End Sub

勘違い?かもしれませんが、一応ご報告でした。
ご教示、ありがとうございました。