2

タブ コントロールを持つメイン フォームがあり、各タブには異なるサブフォームがあります。サブフォームのうちの 2 つは、同じ基になるクエリ (プロジェクトのリスト) を持っています。ユーザーを最初のタブから2番目のタブに移動させたいボタンがありますが、2番目のタブのレコードを最初のタブと同じにしたいです。

たとえば、これが構造である場合 (ただし、frmMaster とサブフォームの間にタブ コントロールがありますが、それが私がやろうとしていることに影響するとは思いません):

frmMaster
- frm_Sub1 (on the first tab)
- frm_Sub2 (on the second tab)

そして、ユーザーが frm_Sub1 の特定のプロジェクトをナビゲートし、ボタンを押すことができるようにしたいと思います。frm_Sub2 の同じプロジェクト レコードに移動します。Forms!frmMaster.form!TabCtl0.Pages(1).SetFocus を使用して 2 番目のタブにフォーカスを設定できますが、そのタブのサブフォームを取得して正しいレコードにジャンプすることはできません。サブフォームを参照しようとしている方法に問題があるだけだと思います-何か提案はありますか? ありがとう。

4

1 に答える 1

2

メインフォームにコマンドボタンがあるとしましょう:

Private Sub ACommand_Click()
  Me.SubformControlOnPage2Name.SetFocus
  With Me.SubformControlOnPage2Name.Form.Recordset
      .FindFirst "AKeyID=" & Me.SubformControlOnPage1Name.Form.ASimilarKey
  End With
End Sub

ページ上のコントロールを参照するためにページを参照する必要はありません。コントロールはフォームに固有です。含まれているフォームの名前ではなく、サブフォーム コントロールの名前を使用するように注意してください。

コメントを編集

最初のサブフォームにコマンド ボタンがあるとします。

Private Sub ACommand_Click()
  Me.Parent.SubformControlOnPage2Name.SetFocus
  With Me.Parent.SubformControlOnPage2Name.Form.Recordset
      .FindFirst "AKey=" & Me.AKey
  End With
End Sub
于 2012-05-15T15:54:51.630 に答える