在我的表单上有一些文本框,在最后一个文本框上,我关闭了enable
,所以不是要求用户输入,我想让文本框上的值在用户输入另一个文本框时自动计算,所以我设置默认值如下:
=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
事件中调用该函数