我有一个下拉组合框,我还有一个文本框,其中包含一个执行DLOOKUP的宏,然后将结果抛出到空白文本框中。这部分工作得体。
令人沮丧的是它没有更新结果文本框。我需要在记录上来回看看变化。
当然,我想要的是在选择Combobox后立即运行宏,然后使用新数字更新结果文本框。我确信这很容易做到,但我无法理解。
谢谢!
编辑: 我在After Update事件中添加了以下代码...
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
奇怪的是它有点有效,但只有当我做下拉TWICE时。例如,假设我在计划A =结果100(开始选择)。我选择Plan B = 200,但结果框仍然有100.我再次选择Plan B,结果框现在变为200.
另一方面,如果我在选择B计划后更改回计划A,它仍会更改为200!
这似乎落后了一步?
答案 0 :(得分:0)
从form_update中删除该代码并将其粘贴到combobox_before / after_update事件中。
只需将值直接指定给文本框。
Private Sub ComboBox_AfterUpdate()
me.txt_resultBox.value = nz(DLookup("AssignedPlan", "DMPlanSum", "DMID = " & ComboBox.value),"")
End Sub