MS Access VBA-从另一个子窗体过滤子窗体(在主窗体的导航中)

时间:2016-05-14 14:30:22

标签: vba filter access

我有一个名为[frmTestsMain]的无界形式,其中包含3个子表单:

  1. [frmTestsList]
  2. [frmTMGroupList]
  3. [frmTSGroupList]
    • [frmTMGroup]有一个" TMGroup",
    • [frmTSGroup]有一个名为" TSGroup"和另一个查找文件 " TMGroup"链接到[frmTMGroup] .TMGroup。
    • [frmTestsList]有查找字段" TSGroup"链接到[frmTSGroup] .TSGroup。

    我想要的是:

    1. 当我点击[frmTMGroup] .TMGroup时,要过滤的其他子表单[frmTSGroup]只能点击TMGroup。
    2. 当我点击[frmTSGroup] .TSGroup时,要过滤的其他子表单[frmTestsList]只能点击TSGroup。
    3. 我编写了如下代码并且没有问题如果我直接打开[frmTestsMain]。

      Private Sub TestMGroup_Click()
      Forms![frmTestsMain]![frmTSGroupList].Form.Filter = "TestMGroup =" & Me.ID
      
      Forms![frmTestsMain]![frmTSGroupList].Form.FilterOn = True 
       End Sub
      

       Private Sub TestSGroup_Click()
       Forms![frmTestsMain]![frmTestsList].Form.Filter = "TestSGroup =" & Me.ID
       Forms![frmTestsMain]![frmTestsList].Form.FilterOn = True
       End Sub
      

      但是当我从导航表单中包含[frmTestsMain]并且有一个min时,我得到一个错误。

      我尝试修改代码如下,但我遇到了同样的问题

      Private Sub TestMGroup_Click()
      Forms![frmMain]![NaviTests]![frmTestsMain]![frmTSGroupList].Form.Filter = "TestMGroup =" & Me.ID
      
      Forms![frmMain]![NaviTests]![frmTestsMain]![frmTSGroupList].Form.FilterOn = True 
       End Sub
      
      你能帮帮我吗? 感谢

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,感谢所有帮助我弄明白的人们

Private Sub TestMGroup_Click()
Forms![frmMain]![NavigationSubform].Form![frmTSGroupList].Form.Filter = "TestMGroup =" & Me.ID
Forms![frmMain]![NavigationSubform].Form![frmTSGroupList].Form.FilterOn = True
End Sub

由于