2017-02-17 3 views
0

У меня есть форма, которая содержит несколько подчиненных форм данных, отсортированных на разные страницы элемента управления вкладкой.(msaccess) Синхронизация пользовательской прокрутки на нескольких страницах/вкладках/таблицах данных?

Каждое описание подформы основано на совершенно другом запросе, хотя в моем случае все подформы всегда будут содержать то же количество записей, что и друг друга.

Вопрос: Возможно ли программно захватывать ввод прокрутки пользователя (через клавиатуру, колесико мыши, кнопки навигации или любую их комбинацию) и передавать эту информацию по всем подформам, чтобы независимо от того, что делает пользователь, всякий раз, когда они переключают страницы/tabs, тот же номер записи всегда будет отображаться в строке 1 на каждой странице/вкладке?

E.g. У меня есть три подформы, каждая из которых имеет свой собственный элемент управления страницей, и каждый базовый набор записей имеет ровно 1000 записей. Пользователь прокручивается вниз, так что запись # 575 отображается в первой строке подформы этой страницы. Пользователь никогда на самом деле выбирает любую запись, просто прокручивает с помощью мыши или клавиатуры.

Можно ли гарантировать, что если пользователь переключится на другую страницу/вкладку, номер записи 575 соответствующего набора записей будет отображаться в первой строке таблицы данных новой страницы?

+0

Я пытался захватить состояние активной вкладки с помощью .currentselectiontop, чтобы измерить расстояние от последнего (то есть 1000-й), записывают верхнюю часть подформы и используют это как прокси для прокрученного положения формы. Я сталкиваюсь с некоторыми проблемами, успешно передавая эту информацию другим подформам, хотя (.currentselectiontop только для чтения). Я не уверен, что Im даже на самом желанном пути для достижения того, что я пытаюсь сделать, но пока это единственное, что даже кажется многообещающим. –

ответ

1

Невозможно поймать прокрутку, но вы можете управлять тем же текущим идентификатор строки отображается во всех подформах.

Полный код и объяснение, включая рабочую демо можно найти и скачать здесь:

Synchronizing Multiple Subforms in Access

+0

Спасибо, посмотрим! –

+0

Я ценю предложение, но похоже, что это не совсем то, что мне нужно делать. Хотя, я начинаю подозревать, что в MSACCESS не может быть что-то еще, чтобы делать то, что мне нужно. Насколько я могу судить, буквально единственный способ получить информацию о верхней записи _visible_ - это удерживать кнопку мыши на самой полосе прокрутки. Однако эта информация не представляется программно доступной с использованием любого метода. Неужели это правда? –

+0

Да, это правда. – Gustav

Смежные вопросы