我正在将文本字段的控制源设置为返回函数的值(具有不同过滤条件的多个字段)。该表单具有一个带有年份列表的组合框:当用户选择特定的年份时,on change事件将触发所有字段的刷新。
我的问题是,除非在组合框的On Change
事件之后,否则这些字段不会显示任何值。在值开始显示之前,我必须单击表单/字段。
我尝试执行表单刷新和字段的重新查询,但是不起作用。
文本字段的Control Source
设置为:
=SummaryReport("Projects","G","1",[Forms]![frmSUMMARY_REPORT]![cmbYEARS])
我要做的是,当用户从下拉列表中选择年份时,字段值将通过On Change
事件进行更新和显示-当前,它们似乎已更新,但除非我显示,否则不会显示单击屏幕,然后值开始显示在每个字段中。
答案 0 :(得分:1)
更新计算字段的方法为Me.Recalc
(或myForm.Recalc
):
https://docs.microsoft.com/en-us/office/vba/api/access.form.recalc
尝试使用此方法,而不要使用.Refresh
。
我还认为,对于组合框,最好使用After Update
而不是On Change
。