2010/12/27

access2010 ナビゲーションフォーム その5

移動ボタン(NavigationButton)と移動コントロール(NavigationControl)の件。
移動ボタンにはParentTab、移動コントロールにはTabs、っつープロパティがあったのね。
ちょっと遠回りしたか?
Dim NavCtr As NavigationControl
Dim NavBtn As NavigationButton
Set NavCtr = Me.移動コントロール5 '最上位ではない

For Each NavBtn In NavCtr.Tabs
    Debug.Print NavBtn.Name, NavBtn.ParentTab.Name
Next
'ここまでとここからの出力はちょっとだけ違うけど
For Each NavBtn In NavCtr.Controls
    Debug.Print NavBtn.Name, NavBtn.Properties("NavigationParentButton")
Next
ヘルプを見ると、最上位レベルとある。英語版でもTop-Levelとなっているが、最上位ということではなく、親。ひとつ上位レベルの移動ボタン(NavigationButton)を参照できる。
そして、最上位レベルである時ParentTabを参照すると、強制終了する。
If NavCtr.Properties("NavigationParent") <> "" Then
    For Each NavBtn In NavCtr.Tabs
        Debug.Print NavBtn.Name, NavBtn.ParentTab.Name
    Next
End If
単純に選択されている移動ボタン(NavigationButton)を参照するだけなら、移動コントロール(NavigationControl)のSelectedTabプロパティでいい。

0 件のコメント: