2016-07-22 3 views
0

4 개의 하위 폼이 포함 된 masterform이 있습니다.하위 폼의 선택 항목에 연결된 액세스 하위 폼이 업데이트되지 않습니다.

첫 번째 하위 형식 Activity Subform_DatasheetView은 masterform Compliance에 직접 연결되어 있으며 세 가지 드롭 다운의 선택 사항을 기반으로 레코드를 조회합니다.

두 번째 하위 양식 CommentDatasheet_Subform은 첫 번째 하위 양식에서 선택한 레코드와 관련된 레코드를 표시합니다.

세 번째 하위 양식 Activity Subform_Detail은 첫 번째 하위 양식에서 선택한 recrod의 세부 정보를 표시합니다. 네 번째 하위 폼은 세 번째 하위 폼에 대해 동일한 방식으로 작동합니다.

위의 모든 하위 양식은 내가 원하는 세부 정보를 표시 할 때까지 작동하지만 각 하위 양식을 수동으로 선택한 다음 새로 고친 후에 만 ​​작동합니다.

질문 : 내 하위 양식을 자동으로 업데이트/새로 고치려면 어떻게해야합니까? 나는 메인 폼에서 "On Click"이벤트 옵션만을 보았습니다.

당신은 레코드가 변경 될 때 masterform 다른 하위 폼을 새로해야하는 하위 폼에 이벤트를 만들과 같이 할 수
+0

비슷한 문제가 발생했습니다. 이제 빈 템플릿에서 내 양식을 만들고 vba의 사용자 정의 SQL 명령을 사용하여 모든 데이터 흐름을 직접 제어합니다. 더 많은 코딩이 필요하지만, 서브 폼 사용의 번거 로움과 한계를 피할 수 있습니다. – Michael

+0

나는이 서브 폼에 다소 좌절감을 느끼고 있습니다. 처음에는 마법사를 사용하여 첫 번째 하위 폼을 만들었습니다.이 하위 폼의 이름은 "tbl_"이 접두사로 사용 된 테이블을 기반으로합니다. 그래서 그 하위 양식은 "tbl_xxxx 하위 양식"이라고 불렀습니다 ... 엉망입니다. 나는 그것의 이름을 바꾸고 싶었고 ... 이제 연결이 끊어졌습니다. 그것이 무엇이 잘못되었는지 알 수 없습니다. 마스터/하위 필드를 조정했지만 여전히 작동하지 않습니다. 나는 왜 당신이 해결책으로 SQL을 사용하기 시작할 것인지를 안다. – rohrl77

+0

나는 똑같은 문제를 경험했다. 무언가를 편집하고 싶다면 마치 서브폼으로 처음부터 시작해야하는 것처럼 거의 마찬가지입니다. 매우 실망합니다. 확실히 SQL에 충실하고 모든 VBA에서 데이터 입력 및 유효성 검사를 처리합니다. 대체로 VBA를 사용하는 데 익숙해 지려면 몇 시간이 걸렸지 만 되돌아 보지 않을 것입니다. 죄송합니다. 도울 수 없었습니다 – Michael

답변

1

:

Subform_DatasheetView 양식 코드

Public Event RecordChanged() 

Private Sub Form_Current() 
    RaiseEvent RecordChanged() 
End Sub 

Compliance 양식 코드

Dim WithEvents m_Subform_DatasheetView As Form_Subform_DatasheetView 

Private Sub Form_Load() 
    m_SubForm_DatasheetView = Me.Subform_DatasheetView 
End Sub 

Private Sub m_Subform_DatasheetView_RecordChanged() 
    CommentDatasheet_Subform.Requery() 
    Subform_Detail.Requery() 
End Sub 
+0

'Dim WithEvents m_Subform_DatasheetView' 문은 오류를 발생시킵니다. 나는 전에 그것을 본 적이 없다. 작동을위한 참조를 추가해야합니까? – rohrl77

+0

@ rohrl77 사과, 'Form_Subform_DatasheetView'로 선언해야합니다 – Chawin

+0

@ rohrl77 문제가 해결 되었습니까? – Chawin

관련 문제