迭代TabControl中的选项卡以根据名称隐藏选项卡

时间:2014-03-24 13:15:59

标签: ms-access ms-access-2007 ms-access-2010

我正在使用Microsoft Access数据库(Office 2010),我在表单底部有一个选项卡控件,它根据您选择的设备类型显示设备信息。我试图让它动态显示并隐藏标签名称确定的标签。

为了实现这一点,我对我的标签使用了以下命名约定。

Tab_Static_Description
Tab_Static_Comments
Tab_Static_Maintenance
Tab_Config_Computer1
Tab_Config_Computer2
Tab_Config_Printer1
Tab_Config_Scanner1
Tab_Config_Telephone1
Tab_Config_Display1

我的TabControl被调用" Tabs"

我已经设置了表格来执行下面的功能(我需要帮助的功能)表格加载和设备下拉菜单的更改。

要调用该函数,请使用以下代码。

DisplayTab

这是远处的代码。我一直在谷歌搜索一下,我还没有找到一个人做类似我的事情,并发现自己有点迷失在这一个。任何帮助将不胜感激。

Function DisplayTab(EquipmentType As String)
    Dim Ctl As Control
    For Each Ctl In Me.Tabs
        If Ctl.Name.contains("Tab_Static_") Then
            Me.Tabs.Pages.Item(Ctl).Visible = True
        ElseIf Ctl.Name.contains("Tab_Config_") Then
            If Ctl.Name.contains("Tab_Congig_" & EquipmentType) Then
                Me.Tabs.Pages.Item(Ctl).Visible = True
            Else
                Me.Tabs.Pages.Item(Ctl).Visible = False
            End If
        Else
            MsgBox "There is an unusually named tab. Please contact the database adminsitrator."
        End If
    Next Ctl
End Function

我得到的错误是"无效的限定符"但在谷歌搜索该消息后,它并没有完全有意义。

1 个答案:

答案 0 :(得分:0)

If Ctl.Name.contains("Tab_Static_") Then

是无效的VBA语法。您可能正在考虑一些可能在VB.NET中可用的类似方法。在VBA中,您可以执行类似

的操作
If InStr(Ctl.Name, "Tab_Static_") > 0 Then