2010/05/15

access2010 BrowseTo

2010から使用できるBrowseToのメモ
サブフォームをネストしてあって、メインフォームからサブフォームの画面遷移するコマンド。
Where条件式/データモードは、OpenFormメソッドのオプションと同じだろうから放置。
ページはWeb専用だから使うときに調べる。
サブフォームコントロールへのパスの書き方は、サブフォームコントロールを”>”で繋ぐ。
Option Compare Database
Option Explicit

'遷移だけならSubFormコントロール/Formプロパティで繋ぐのと変わらん
Private Sub cmd00_Click()
    Me.subForm00.Form.subForm01.Form.subForm02.Form.subForm03.SourceObject = "F01"
End Sub

Private Sub cmd01_Click()
'ここが実行されSourceObjectが変更されてしまうと、cmd00_Clickは実行時エラー
    Me.subForm00.SourceObject = "F07"
End Sub

Private Sub cmd02_Click()
'cmd01_Click実行後であっても意図したとおり遷移する
'フォームイベントは、サブフォーム同様ネストの深い順で発生
    DoCmd.BrowseTo acBrowseToForm, "F05", "F_00.subForm00>F_01.subForm01>F_02.subForm02>F_03.subForm03"
End Sub

Private Sub cmd03_Click()
'見た目上ではあるが、ネスト中間のフォームだけを変更できる。
'実際には、変更されない親フォーム以外はOpenし直している。
    DoCmd.BrowseTo acBrowseToForm, "F05", "F_00.subForm00>F_01.subForm01>F_02_1.subForm02>F_03.subForm03"
End Sub

0 件のコメント: