【问题标题】:Make default value on textbox triggered when other field change在其他字段更改时触发文本框的默认值
【发布时间】:2016-07-01 00:44:52
【问题描述】:

所以我的表单上有一些文本框,在最后一个文本框中,我关闭了enable,所以我不想让用户输入,而是想让文本框上的值在用户输入时自动计算在另一个文本框上,所以我设置了这样的默认值:

=IIf(IsNull([jmlh]),0,[jmlh]*[harga]*IIf([diskon]>0,[diskon],1))

但问题是在表单加载时表达式才起作用,当“[jmlh]”中的值发生变化时仍然不起作用。有什么方法或东西可以使它成为可能吗?

【问题讨论】:

    标签: ms-access ms-access-2000


    【解决方案1】:

    不要将表达式放入Default Value,而是放入Control Source 属性。

    然后,当使用的字段之一发生更改时,它总是会自行更新。


    如果是绑定字段(但为什么要将计算字段存储在表中?),则需要将该公式放入 VBA 函数中

    Private Function UpdateCalcField()
         Me.calcField = IIf(IsNull([jmlh]),0,[jmlh]*[harga]*IIf([diskon]>0,[diskon],1))
    End Function
    

    并从所有相关字段的AfterUpdate 事件中调用该函数。

    【讨论】:

      猜你喜欢
      • 2019-10-01
      • 1970-01-01
      • 2013-02-25
      • 1970-01-01
      • 2011-09-16
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多