2014-11-21 2 views
0

드롭 다운 콤보 상자가 있으며 DLookdown 매크로를 사용하는 텍스트 상자에 빈 텍스트 상자에 결과가 표시됩니다. 이 부분은 충분히 잘 작동합니다.콤보 상자 선택 후 새로 고침?

결과 텍스트 상자를 업데이트하지 않는다는 점에서 좌절감을 느낍니다. 나는 그 변화를보기 위해 기록상을왔다 갔다 할 필요가있다.

물론 내가 원하는 것은 Combobox가 선택 되 자마자 매크로를 실행 한 다음 결과 텍스트 상자를 새 번호로 업데이트하는 것입니다. 나는 이것이하기 쉽다라고 확신한다. 그러나 나는 단지 그것을 이해할 수 없다.

감사합니다.

편집 : 나는 그것에 대해

Sub updateDM() 
    KeyID = Me!DMID.Value 'vDMID.Value 
    If IsNull(KeyID) = False Then 
     AssignedPlan = DLookup("AssignedPlan", "DMPlanSum", "DMID = " & KeyID) 
     vAssignedPlan.Value = AssignedPlan 
     Me.Refresh 
    End If 

End Sub 

Private Sub vStartMonth_AfterUpdate() 
    updateDM 
End Sub 

이상한 일이다 ... 업데이트 이벤트 후에 내에서 다음 코드를 넣었습니다 그것이 벽돌 쌓는 작품,하지만 난 아래로 두 번이나 드롭을 할 경우에만 가능합니다. 예를 들어 계획 A = 결과 100 (선택 시작)에 있다고 가정 해 봅시다. 계획 B = 200을 선택했지만 결과 상자에는 여전히 100이 있습니다. 계획 B를 다시 선택하면 결과 상자가 200으로 변경됩니다.

반면 플랜 B를 선택한 후에 계획 A로 다시 변경하면 200으로 바뀐다!

마치 한 걸음 뒤에있는 것 같습니다. ??

+0

콤보 상자의 'beforeUpdate' 및'afterUpdate' 이벤트를 사용해 보셨습니까? – Barranka

+0

예 콤보 상자의 업데이트 이후에 스크립트가 있습니다 - 왜 업데이트가 중요하지 않은지 잘 모르지만 업데이트하기 전에 시도하지 않았습니까? – mythstified

+0

양식의 데이터 소스를 새로 고쳐야합니까? – Barranka

답변

0

해당 코드를 form_update에서 제거하고 combobox_before/after_update 이벤트에 적용하십시오.

그냥 텍스트 상자에 직접 값을 할당하십시오.

Private Sub ComboBox_AfterUpdate() 
    me.txt_resultBox.value = nz(DLookup("AssignedPlan", "DMPlanSum", "DMID = " & ComboBox.value),"") 
End Sub 
+0

(지연되어 유감입니다) 일하는 것처럼 보였지만 한 번만! 콤보 상자에서 다른 레코드를 선택하면 레코드를 다시 순환시키지 않으면 새로 고침되지 않습니다. – mythstified