2017-02-13 9 views
0

데이터 시트보기의 자식 폼 (손자) 내에 하위 폼을 포함하는 MS Access 2013 폼이 있습니다.MS 액세스 : 하위 서브 폼의 모든 인스턴스에 대해 코드 실행

이제 기본 폼에서 자식 및 손자 모양의 레코드를 필터링 할 수있는 컨트롤이 있습니다. 아이 양식을 필터링

Dim strSQL As String 
strSQL = ... 
Me!child.Form.RecordSource = strSQL 
Me!child.Requery 

와 완전히 잘 작동하지만

Dim strSQL As String 
strSQL = ... 
Me!child.Form!grandchild.Form.RecordSource = strSQL 
Me!child.Form!grandchild.Requery 

으로 손자에 대한 필터를 설정하려는 경우 나는 this question I와 오류 2455. 얻을 하나 이상의 하위 양식 행을 확장하여 오류를 해결했습니다.

하지만 이제는 모든 손주 행에 대해 RecordSource를 설정하려고합니다. 현재 코드는 첫 번째 행의 첫 번째 행에 대해서만 작동하지만 확장/축소 중입니다.

필터링하기 전에 수동으로 행을 확장하지 않고도 주 양식의 모든 하위 시스템 레코드에 대한 RecordSource를 어떻게 변경합니까?

편집 : 구스타프는 나를 도울 코드없는 해결책을 제공했습니다. 그럼에도 불구하고 나는 모든 인스턴스에 대해 마스터 양식에서 손주의 양식 속성을 일반적으로 변경하는 방법을 궁금합니다.

답변

1

레코드 소스를 조정할 필요가 없습니다.

는 제어마스터/하위 링크 필드를 손자 폼의을 조정하고, 자동 필터링 될 것이다.

+0

내가 맞으면이 하위 양식을 기본 양식의 특정 필드/ID에 연결합니다. 나는 그것을 원하지 않는다. RecordSource의 WHERE 절을 사용하여 특정 기준을 충족하는 하위 양식에서 레코드를 표시하려고한다. – Nikno

+0

어느 쪽이든 할 수 있습니다. 그러나 _Master/Child_link 필드를 사용하면 0 코드 솔루션입니다. – Gustav

+0

하위 필드'field1 = foo'와'field2 = bar'에있는 모든 데이터를 표시하고 싶습니다. 링크 필드를 사용하여 어떻게해야합니까? – Nikno