每当在Access中重新选择选项卡式表单时运行VBA代码

时间:2013-05-22 11:33:37

标签: vba ms-access ms-access-2007 access-vba tabbed-document-interface

编辑:为了澄清,我在下面的帖子中谈论选项卡式文档浏览,而不是选项卡控件。但是,如果你正在寻找大致相同的问题但是关于Tab控件,Gord Thompson的答案是正确的。一个价格的两个答案!

我有一个使用选项卡式文档的Access 2007数据库。每次用户选择名为“Reports”的表单时,我都需要运行一些VBA代码,方法是打开它或点击它的标签(如果它已经打开)。

我可以通过每次使用它并在OnLoad事件上运行代码时关闭它来实现相同的功能,但理想情况下我想保持打开以便用户可以保留各种下拉框的设置,他们已经在“报告”中设置了无线电盒等。

我希望有一个可以在选项卡重选上运行代码的事件,但我的猜测(OnCurrent和GotFocus)似乎都不起作用(OnCurrent仅在打开表单时起作用,就像OnLoad一样)。

任何想法都非常感激 - 找不到我在谷歌上寻找的东西,虽然我怀疑那是因为我不确切知道我在寻找什么。

2 个答案:

答案 0 :(得分:3)

找到了我想要的答案。这是OnActivate活动。

答案 1 :(得分:2)

TabControl的.Value属性返回当前页面的索引(从零开始)。所以,如果我有一个名为TabCtl14的TabControl包含两个页面FirstPageSecondPage,那么代码......

Private Sub TabCtl14_Click()
If Me.TabCtl14.Value = 1 Then
    MsgBox "SecondPage was clicked."
End If
End Sub
每当我单击TabControl中的“SecondPage”选项卡时,

...就会显示MsgBox。