如何通过VBA设置访问选项卡控件的页面名称
问题描述:
我有一个带有选项卡控件(称为TabCtrl
)的MS Access窗体。这个控件有几个页面,每个页面都有一个子窗体。如何通过VBA设置访问选项卡控件的页面名称
在Form_Open
上,我想查询子表单中的记录总数,并将该数字放在标签的名称中。例如,名为MYTAB的标签应该成为MYTAB(2):
Private Sub SetTabName_MyTab()
Dim i As Integer
i = CurrentDb.OpenRecordset("Select count(*) from [MyQry];").Fields(0).Value
TabCtrl.Pages("MyTab").Name = "MyTab (" & i & ")"
End Sub
然而,当我运行它,在最后一行返回运行时错误2136“设置该属性,打开窗体或设计视图中报告“。这是否意味着我无法在代码中执行此操作?我应该使用另一个事件吗?
答
您正试图更改控件的名称internal
,而不是标签页控件上的caption
。
尝试:
ATabcontrol.Pages("MyTab").Caption = "MyTab(" & i & ")"
注:我以前做过,发现这个问题与文本不改变,直到TabControl的被操纵。
答
尝试:
Dim s as string
'To Get current Tab Caption
s = Me.TabCtl.Pages(Me.TabCtl.Value).Caption
'To Set current Tab Caption
s = "TabName"
Me.TabCtl.Pages(Me.TabCtl.Value).Caption = s
宾果!我很久以前就放弃了这个细节。我在Form's Open事件中测试了这个,并且迄今没有发现任何问题。 – PowerUser 2013-10-30 18:03:44
任何人都知道如何调整此代码,以便它从子窗体内运行? – TCassa 2016-07-28 14:13:28