2016-05-14 1 views
0

У меня неограниченная форма под названием [frmTestsMain], который включает в себя 3 субформа:MS Access VBA- Фильтр подчиненный из других подчиненных (в пределах от навигации из главной формы)

  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.

Я написал код, как показано ниже, и работал без проблем. Если я открою [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] из в навигационной форме с мин от, я получаю сообщение об ошибке.

Я попытался изменить код как следующий, но я получаю ту же самую проблему

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

Forms![frmMain]![NaviTests]![frmTestsMain]![frmTSGroupList].Form.FilterOn = True 
End Sub 

Не могли бы вы помочь мне, пожалуйста. Благодаря

+0

я читал этот пост, но не мог понять решение: HTTP : //stackoverflow.com/questions/16041901/access-vba-subform-not-filtering-other-subform-when-embbedded-in-navigation-form –

+0

Является ли 'TestMGroup' числом или строкой? Если это строка, вы должны окружить 'Me.ID' кавычками' .Filter = "TestMGroup = '" & Me.ID & "'" ' – BitAccesser

+0

Я изменил код: Forms! [FrmMain]! [NaviTests] ! [frmTestsMain]! [frmTSGroupList] .Form.Filter = "TestMGroup =" & Me.ID & "'" ИЛИ как Forms! [frmTestsMain]! [frmTSGroupList] .Form.Filter = "TestMGroup =" & Me.ID & "", но я все равно получаю сообщение об ошибке, но я все равно получаю сообщение об ошибке –

ответ

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 

Благодаря

Смежные вопросы