Запускайте код VBA всякий раз, когда форма с вкладками повторно выбирается в Access
РЕДАКТИРОВАТЬ: Для пояснения, я говорю в следующем посте о просмотре документов с вкладками, а не элемент управления вкладками. Тем не менее, если вы ищете примерно ту же проблему, но в отношении элемента управления вкладками, Горд Томпсон ответит правильно. Два ответа по цене одного!
У меня есть база данных Access 2007, которая использует документы с вкладками. Мне нужно запускать некоторый код VBA каждый раз, когда пользователь выбирает форму под названием "Отчеты", либо открывая ее, либо щелкая ее вкладку, если она уже открыта.
Я мог бы добиться почти того же самого, закрывая его каждый раз, когда он используется, и запуская код в событии OnLoad, но в идеале я хотел бы оставить его открытым, чтобы пользователи могли сохранять настройки различных выпадающих списков, переключателей и т. Д. что они уже настроены на "Отчеты".
Я надеялся на событие, которое могло бы запустить код при повторном выборе вкладки, но ни одно из моих предположений (OnCurrent и GotFocus), похоже, не сработало (OnCurrent работает только при открытой форме, как OnLoad).
Любые идеи очень ценятся - не могу найти то, что я ищу в Google, хотя я подозреваю, что это потому, что я не знаю точно, что я ищу.
2 ответа
.Value
свойство TabControl возвращает индекс (начиная с нуля) текущей страницы. Итак, если у меня есть TabControl с именем TabCtl14
который содержит две страницы, FirstPage
а также SecondPage
тогда код...
Private Sub TabCtl14_Click()
If Me.TabCtl14.Value = 1 Then
MsgBox "SecondPage was clicked."
End If
End Sub
... отображает MsgBox всякий раз, когда я щелкаю вкладку "SecondPage" в TabControl.