2012-05-15 29 views
2

我有一个具有选项卡控件的主窗体,并且每个选项卡都有不同的子窗体。其中两个子表单具有相同的基础查询(项目列表)。我有一个按钮,我想将用户从第一个选项卡移动到第二个选项卡,但我希望第二个选项卡上的记录与第一个选项卡上的记录相同。MS Access - 转到使用相同记录ID的另一个子表格

例如,如果是这样的结构(但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

让我们说我有主窗体上的COMAND按钮:

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

你并不需要参考一个页面,指的是页面上的控制。控件对于表单来说是唯一的。小心使用子窗体控件的名称,而不是包含的窗体的名称。

编辑评论重新

让我们说,我对第一子窗体上按钮COMAND:

Private Sub ACommand_Click() 
    Me.Parent.SubformControlOnPage2Name.SetFocus 
    With Me.Parent.SubformControlOnPage2Name.Form.Recordset 
     .FindFirst "AKey=" & Me.AKey 
    End With 
End Sub 
+0

非常感谢,Remou - 我变得有点困惑在这里虽然,因为该按钮上第一个子表单,所以当我去编辑代码时,代码就在那个表单的类对象中。我担心移动按钮,因为这会影响可用性。我考虑将代码移动到一个模块,但是这不会影响使用“我”的能力吗? – rryanp

+0

我已经添加了另一个例子。 – Fionnuala

+0

谢谢!这有很大帮助。不幸的是,我现在正在与AKey发生错误(“Microsoft Jet数据库引擎无法将'AKey'识别为有效的字段名称或表达式”)。我尝试过研究它,但却找不到'阿基'。我在Access 2003上 - 这可能是问题吗? – rryanp

相关问题