プロが教える店舗&オフィスのセキュリティ対策術

アクセス2007です。
タブの上にタブを乗せたいのですがうまくいきません。

フォームに1個目のタブ0は問題なく乗せられるのですが
ページ1の上に、更にタブ3を乗せたいです。

しかし、ページ1の上に新しくタブ3を乗せたつもりが、
ページ1をクリックしてもページ2をクリックしても新たに乗せたタブ3が見えます。

と言う事は、ページ1の上にタブ3が乗っかっているわけではなく、
フォーム1の上にタブ3が乗っかっているんだと思います。

そうではなく、ページ1の上にタブ3を乗せて、
ページ2に切り替えた時は、タブ3は表示しないようにするにはどうすればいいでしょうか?

VBAでVisibleで切り替える事は考えてません。
ご回答よろしくお願いします。

「タブの上にタブを乗せるには?」の質問画像

A 回答 (2件)

タブにタブを重ねることはできなかったと思います。



デザイン上でだけ、できないものなのか、
以下を記述して確認してみましたが、やっぱりできないようです。

以下を標準モジュールに転記し、実行してみると添付図の様になると思います。


' タブにタブは組み込めない ★
' エラー:2151
' 親コントロールは、指定した種類のコントロールを含むことができません。

Public Sub test21()
  Dim sN As String
  Dim ctl As Control

  On Error Resume Next
  With CreateForm
    sN = .Name
    With CreateControl(sN, acTabCtl)
      .Name = "tb1"
      .Pages(0).Name = "pg1"
      .Pages(1).Name = "pg2"
      With CreateControl(sN, acTabCtl, , .Pages(0).Name) ' ★
        .Name = "tb11"
        .Pages(0).Name = "pg11"
      End With
      With CreateControl(sN, acSubform, , .Pages(1).Name)
        .Name = "FSUB"
        .Top = 600
        .Left = 300
        .Height = 2000
        .Width = 2000
      End With
    End With
  End With
End Sub

連結/非連結とか、操作イメージがわからないので、代替え案等については記述できません。

現状では、
> VBAでVisibleで切り替える事は考えてません。
を検討し直すことになるかと思います。
「タブの上にタブを乗せるには?」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/10/19 23:49

直接、タブの中にタブを配置することはできないようですね。



代替案として
サブフォームにタブコントロールを配置するのはいかがでしょう?
サブフォームコントロールの境界線スタイルを透明にすれば
見た目は、タブの中にタブがあるように見えるでしょう。

親のフォームを参照したり、
親フォームから、VBA で タブ内のコントロールに値を渡すような処理があると
かなり面倒なことになるかもしれません。

VBAでVisibleで切り替える方がずっと簡単かと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2012/10/19 23:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!