【问题标题】:How to set an Access Tab Control's page name by VBA如何通过 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“要设置此属性,请在设计视图中打开表单或报表”。这是否意味着我不能在代码中执行此操作?我应该使用另一个事件吗?

【问题讨论】:

    标签: ms-access vba


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-11
      • 2013-07-23
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      相关资源
      最近更新 更多