2

我在 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

但是,当我运行它时,最后一行返回Run-time error 2136 "To set this property, open the form or report in Design view"。这是否意味着我不能在代码中执行此操作?我应该使用另一个事件吗?

4

2 回答 2

3

您正在尝试更改internal控件的名称,而不是caption选项卡页上的控件。

尝试:

ATabcontrol.Pages("MyTab").Caption = "MyTab(" & i & ")"

注意:我之前已经这样做过,发现在操作 tabcontrol 之前文本不会改变的问题。

于 2013-10-30T00:13:52.313 回答
0

尝试:

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
于 2014-01-27T21:50:04.920 回答