2017-12-07 9 views
0

나는 두 개의 변수가있는 콤보에 대한 After_Update의 Access에서 VBA 기능을 가지고있다. 첫 번째는 콤보 박스에서 가져오고 두 번째는 첫 번째를 기반으로 한 쿼리 결과입니다. Null 값을 처리하는 일부 오류 처리를 만들었지 만 어떤 값이 Null인지에 따라 오류를 다르게 처리하고 싶습니다. 때로는 사용자가 콤보 상자에 이름을 입력 한 다음 삭제하여 변수 Null을 만듭니다. childID가 Null이면 문제가되지 않으며 단순히 종료하는 기능을 원합니다. visitID가 Null이면 오류 메시지 상자를 표시하고 싶습니다. 내가 작성한 것은 두 변수의 Null 값에 대한 오류를 표시합니다.VBA에서 같은 오류를 다른 변수와 다르게 처리하는 방법은 무엇입니까?

On Error GoTo Error_Handle 

childID = Me.cmbChildSearchFirst.Column(0) 
visitid = DLookup("Visit.[VisitID]", "Q_VisitID_from_ChildID", "[ChildID] =" & childID) 

Error_Handle: 
If Err.Number = 94 Then 
    MsgBox ("Child is not associated with any visit") 
    Exit Sub 
End If 

답변

1

기본 개요 :

childID = Me.cmbChildSearchFirst.Column(0) 

'proceed only if not null. 
If Not IsNull(childID) Then 
    If Not IsNull(DLookup("Visit.[VisitID]", "Q_VisitID_from_ChildID", "[ChildID] =" & childID)) Then 
     .... 
    Else 
     MsgBox ("Child is not associated with any visit") 
     Exit Sub 
    End If 
End If 
+0

이 대답에 저를 얻었다. "On Error Resume Next"를 포함하고 "if IsNull (childID) Then Exit Sub Else ..."라는 첫 번째 if 문을 변경해야했습니다. –

+0

도움이된다면이 응답을 Upvote하십시오. Tnx. https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 – wazz