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

ただし、これを実行すると、最後の行で実行時エラー 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 & ")"

注:以前にこれを行ったことがあり、タブコントロールが操作されるまでテキストが変更されないという問題が見つかりました。

于 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 に答える