如何通过 VBA 设置访问选项卡控件的页面名称
Posted
技术标签:
【中文标题】如何通过 VBA 设置访问选项卡控件的页面名称【英文标题】:How to set an Access Tab Control's page name by VBA 【发布时间】:2013-03-12 22:40:09 【问题描述】:我在 MS Access 中有一个带有选项卡控件的表单(称为 TabCtrl
)。这个控件有几个页面,每个页面都有一个子表单。
在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“要设置此属性,请在设计视图中打开表单或报表”。这是否意味着我不能在代码中执行此操作?我应该使用另一个事件吗?
【问题讨论】:
【参考方案1】:您正在尝试更改控件的internal
名称,而不是标签页控件上的caption
。
试试:
ATabcontrol.Pages("MyTab").Caption = "MyTab(" & i & ")"
注意:我以前做过这个,发现在操作 tabcontrol 之前文本不会改变的问题。
【讨论】:
宾果游戏!我早就放弃了这个细节。我在 Form 的 Open 事件中对此进行了测试,目前没有发现任何问题。 有谁知道如何调整这段代码,让它在子表单中运行?【参考方案2】:试试:
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
【讨论】:
以上是关于如何通过 VBA 设置访问选项卡控件的页面名称的主要内容,如果未能解决你的问题,请参考以下文章