2013-10-08 3 views
0

다른 모듈에서 하위 폼 컨트롤을 참조하는 방법을 이해하려고 노력했습니다. 많은 포럼에서 다음 링크를 가리키고 있습니다. http://access.mvps.org/access/forms/frm0031.htm다른 모듈의 하위 폼에서 컨트롤 참조

아직 내 코드에이를 추가하지 못했습니다. 내가 실종되었다는 것을 확신하지 못한다. Module1의에서

Private Sub Command3_Click() 
     policyid = Me.PolicyList 
     Call openpolicy(policyid) 
    End Sub 

:

Public Sub openpolicy(policyid) 
    DoCmd.OpenForm ("frmPolicyDetails") 

    Dim dbs As DAO.Database 
    Dim rcd As DAO.Recordset 

    Set dbs = CurrentDb 
    Set rcd = dbs.OpenRecordset("Select * from Policy Inner join client on client.clientid = policy.clientid where Policy.id = " & policyid) 

    Forms!Frmpolicydetails.selectedpolicy = rcd("PolicyNumber") 
    Forms!Frmpolicydetails.selectedName = rcd("FirstName") & " " & rcd("LastName") 

    'Trying to update subform textbox 
    Forms!frmpolicydetails!frmpolicyInfo.policynumber = rcd("PolicyNumber") 

End Sub 

"FrmPolicyInfo"는 "대상 이름"입니다 탐색 양식 사용자가 다음과 같은 코드를 실행 명령 단추를 클릭 최초의 형태에서

를 가리키고 "PolicyNumber"는 하위 폼의 컨트롤 이름입니다.

아이디어가 있습니까?

+1

"성공하지 못했다"는 것을 이해하는 데 도움주세요 * 의미합니다. 오류 메시지가 있습니까? 그렇다면 그 메시지의 전문을 알려주고 어떤 메시지를 표시하는지 알려주십시오. 오류가 없다면 코드가 원하는 것을 수행하지 못하는 방법을 설명하십시오. – HansUp

답변

1

이 문제와 관련하여 도움이되는 팁을 알려 드리겠습니다. SubformControl (하위 폼이 들어있는 상자)을 참조한 다음 하위 폼이 포함 된 폼을 참조하고 그 안에 포함 된 폼을 참조하고 마지막으로 컨트롤을 참조해야합니다.

Forms!MainFormName!SubformControlName.Form!txtControlName 

따라서 귀하의 경우는 다음과 같습니다

Forms!frmpolicydetails!SubformControl1.Form!policynumber = rcd("PolicyNumber") 

여기 혼란 부분은 변경하지 않는다는 것입니다 ".Form을!" 귀하의 양식 이름이됩니다. 하위 폼 컨트롤의 폼 개체를 참조 할 때는 항상 폼의 이름이 아닌 폼으로 참조됩니다.

+0

거기에'Form'이 필요 없습니다.'Forms! MainFormName! SubformControlName! txtControlName' – HansUp

+0

그 팁을 가져 주셔서 감사합니다. 나는 당신이'.Form' 부분을 제거 할 수 있다는 것을 알지 못했습니다. – HK1

관련 문제