나는 탭 컨트롤에서 여러 하위 폼을 사용하여 MS Access 2010에서 양식을 만들었습니다. 일부 하위 양식에는 PopUp 양식을 여는 OnClick 매크로가있는 TextField가 있습니다. "OK"-Button을 클릭하면 someFn()을 사용하여 값을 계산하고 Main Form에서 현재 Tab을 가져 와서 해당 SubForm의 TextField에 값을 씁니다.MS Access VBA 런타임 오류 459
이 팝업 형태의 "OK"- 버튼에 대한 코드입니다 : 내가 01_subform (탭 0)에 txt_field을 클릭하지만 왜 오류가 발생 않으면
Private Sub btn_ok_Click()
Dim page As Integer
page = Forms![00_data].Form.tabbed.Value
Dim Val As Integer
Val = someFn 'returns some Value between -1 and 100
DoCmd.Close acForm, "10_my_popup_form", acSaveNo
If Val >= 0 Then '0-100 are valid
Select Case page
Case 0
Forms![00_main]![01_subform].Form.txt_field.Value = Val
Case 3
Forms![00_main]![04_subform].Form.txt_field.Value = Val 'Error 459
End Select
ElseIf Val = -1 Then '-1 is an error code, delete the Value
Select Case page
Case 0
Forms![00_main]![01_subform].Form.txt_field.Value = Null
Case 3
Forms![00_main]![04_subform].Form.txt_field.Value = Null 'Error 459
End Select
End If
End Sub
소위원회 실행 완벽하게 정상적으로 04_subform (탭 3)에?
편집 : 나는 오류를 언급하지만 문제 해결 방법으로 문제를 해결할 수없는 수있는이 마이크로 소프트 기사를 발견했습니다 : 나는 2014년 1월 26일 및 업데이트에 01_subform을 만든 것처럼 http://support.microsoft.com/kb/2748410
내가 04_subform을 만들기 전에 2014/01/27에 설치되었습니다. 이것이 실제로 이유가 될 수 있지만 어떻게 수정합니까?
아직 완료하지 않은 경우 철저한 [디 컴파일] (http://stackoverflow.com/a/3268188/2144390)을 시도하고 Access 데이터베이스를 다시 컴파일 할 수 있습니다. –
아직 해본 적이 없지만 DB를 다시 컴파일 한 후에 런타임 오류 '-2146500594 (800f000e)'가 나타납니다 : '_SubForm'객체의 'Form'메서드가 실패했습니다. 다시 04_subform 만 수행했습니다. –