所以我的表单上有一些文本框,在最后一个文本框上,我关闭了enable
so 而不是询问用户输入,我想让文本框上的值在用户在另一个文本框上输入时自动计算,所以我像这样设置默认值:
=IIf(IsNull([jmlh]),0,[jmlh]*[harga]*IIf([diskon]>0,[diskon],1))
但问题是表达式只在表单加载时起作用,当“[jmlh]”中的值发生变化时仍然不起作用。有什么方法或东西可以使它成为可能吗?
所以我的表单上有一些文本框,在最后一个文本框上,我关闭了enable
so 而不是询问用户输入,我想让文本框上的值在用户在另一个文本框上输入时自动计算,所以我像这样设置默认值:
=IIf(IsNull([jmlh]),0,[jmlh]*[harga]*IIf([diskon]>0,[diskon],1))
但问题是表达式只在表单加载时起作用,当“[jmlh]”中的值发生变化时仍然不起作用。有什么方法或东西可以使它成为可能吗?
不要将您的表达式放入属性中Default Value
,而是放入Control Source
属性中。
然后,当使用的字段之一发生更改时,它将始终自我更新。
如果它是绑定字段(但为什么要将计算字段存储在表中?),您需要将该公式放入 VBA 函数中
Private Function UpdateCalcField()
Me.calcField = IIf(IsNull([jmlh]),0,[jmlh]*[harga]*IIf([diskon]>0,[diskon],1))
End Function
AfterUpdate
并从所有相关领域的事件中调用该函数。