2014-03-24 69 views
1

我正在使用Microsoft Access數據庫(Office 2010),並且我的表單底部有一個選項卡控件,可根據您選擇的設備類型顯示設備信息。我試圖讓它動態顯示和隱藏選項卡名稱所確定的選項卡。遍歷TabControl中的選項卡以隱藏基於名稱的選項卡

爲了實現這一點,我使用了以下命名約定,以供我的選項卡使用。

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被稱爲「標籤」

我已設置的形式來執行下面的形式負載電平變化和設備的(我需要幫助的功能)下拉菜單中的功能。

要調用函數我使用下面的代碼。

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 

我正的錯誤是「無效的限定詞」,但谷歌上搜索該消息之後,在沒有確切意義。

回答

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

無效VBA語法。你可能想到了一些可能在VB.NET中可用的類似方法。在VBA中你可以做類似

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