MS Access - 使用相同的记录ID转到另一个子表单

时间:2012-05-15 15:34:59

标签: ms-access vba

我有一个带有制表符控件的主窗体,每个制表符都有不同的子窗体。其中两个子表单具有相同的基础查询(项目列表)。我有一个按钮,我想将用户从第一个选项卡带到第二个选项卡,但我希望第二个选项卡上的记录与第一个选项卡上的记录相同。

例如,如果这是结构(但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),但我无法在该选项卡上获取子窗体以跳转到正确的记录。我认为这只是我试图引用子表单的问题 - 任何建议?感谢。

1 个答案:

答案 0 :(得分: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