2017-02-17 9 views
0

私は、複数のデータシートサブフォームを含むフォームをタブコントロールの異なるページにソートしています。(msaccess)ユーザーの複数のページ/タブ/データシートのスクロールを同期させますか?

各サブフォームのデータシートは全く異なるクエリに基づいていますが、私のケースではすべてのサブフォームは常に同じ数のレコードを含んでいます。

質問:ユーザーのスクロール入力をキーボード、マウスホイール、ナビゲーションボタン、またはそれらの組み合わせでプログラムでキャプチャし、その情報をサブフォーム間で渡すことができるため、ページを切り替えるたびにユーザーの操作に関係なく/ tabでは、同じレコード番号は常にすべてのページ/タブの1行目の位置に表示されますか?

など。 3つのサブフォームがあり、それぞれに独自のページコントロールがあり、各基本レコードセットには正確に1000個のレコードがあります。ユーザーは、そのページのサブフォームの最初の行にレコード#575が表示されるようにスクロールします。ユーザーは決して実際にはのレコードを選択し、マウスまたはkeybpoardを使用するだけでスクロールします。

ユーザーが別のページ/タブに切り替えると、対応するレコードセットのレコード番号575が新しいページのデータシートの最初の行に表示されることを保証できますか?

+0

(つまり、1000番目の)レコードをサブフォームの上部に作成し、それをフォームのスクロール位置のプロキシとして使用します。私はこの情報を他のサブフォームに正常に渡すいくつかの問題に遭遇しています(.currentselectiontopは読み取り専用です)。私は、私がやろうとしていることを達成するための最も望ましい道でさえ、Imを確信していません。 –

答えて

1

スクロール自体をキャッチするイベントはありませんが、同じの現在の行IDがすべてのサブフォームに表示されるように制御できます。

作業のデモを含む完全なコードと説明が見つかりました。そしてここからダウンロードすることができます:私は最後からの距離を測定する.currentselectiontop使用してアクティブなタブの状態を捕獲しようとしてきた

Synchronizing Multiple Subforms in Access

+0

ありがとう、これを調べます! –

+0

私は提案を感謝しますが、これは私がする必要があるものではないようです。しかし、私はMSACCESSの中で、私がやるべきことをやるための方法はまだないと思っています。私が知る限り、文字通り先頭の_visible_レコードに関する情報を取得する唯一の方法は、スクロールバー自体にマウスボタンを置くことです。ただし、この情報は、どのメソッドを使用してもプログラムで使用可能ではないようです。本当にそれは本当ですか? –

+0

はい、それは本当です。 – Gustav

関連する問題