【问题标题】:Using a button to switch between tabs in Access使用按钮在 Access 中的选项卡之间切换
【发布时间】:2018-03-03 20:23:46
【问题描述】:

如何创建 VBA 宏以在 Access 窗体上的选项卡控件中的页面之间切换?我认为代码会很简单,但我无法在网上找到任何明确或明确的内容。这些是我到目前为止尝试过的代码示例:

Private Sub Command5_Click()
TabControl.Value = (TabCtl0.Value + 1) Mod TabControl.Pages.Count
End Sub

Private Sub Command1_Click()
Me.Tab2.SetFocus
End Sub

但我想知道是否需要更复杂的东西。按钮和选项卡是分开的(按钮不在选项卡本身上),如图所示:

【问题讨论】:

    标签: forms ms-access tabs vba


    【解决方案1】:

    如果你使用的是宏生成器,你也可以使用“去控制”

    【讨论】:

      【解决方案2】:

      这是一个相当古老的问题,但为了其他偶然发现它的人的利益:

      您在尝试过的示例中给出的第一个示例应该可以工作,但其中有一个错误。代码同时引用了TabControl和TabCtl0,我认为应该只是其中之一。

      假设您的按钮被称为 Command9,如图所示,并且您的选项卡控件被称为 TabControl,以下应该可以工作:

      Private Sub Command9_Click()
        TabControl.Value = (TabControl.Value + 1) Mod TabControl.Pages.Count
      End Sub
      

      【讨论】:

        【解决方案3】:

        当您的意思是引用 TabCtl0 时,您似乎无意中引用了 TabControl

        您可以使用With..End With 语句使参考更简洁

        Private Sub Command5_Click()
          With Me.TabCtl0
            .Value = (.Value + 1) Mod .Pages.Count
          End With
        End Sub
        

        【讨论】:

        • 这是一个导航控件表单,所以我特意将它命名为TabControl。即使在分别重命名选项卡 NavigationButton1 和 2 并在代码(With.Me.NavigationButton1)中引用 NavigationButton1 之后,我仍然在 .Value 的第二个实例上得到“找不到方法或数据成员”。
        【解决方案4】:

        为什么不简单地在选项卡之间切换?

        https://www.youtube.com/watch?v=OtN2DSg-cAU

        这应该会让你朝着正确的方向前进。

        【讨论】:

        • 我知道选项卡控制,但我们想要一个宏,当单击一个按钮时,它会运行多个选项卡,一次一个选项卡。
        【解决方案5】:

        这个怎么样?

        Me.TabControlName.Pages.Item("PageName").SetFocus
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-13
          • 2016-04-22
          相关资源
          最近更新 更多