我的表单上有一个计算字段,该字段不在基础表中。仅用于显示目的。 字段名称为 TotalMain 该字段的源是子表单页脚中的计算字段。 子表单只是表格视图中的基本子表单。在该子表单的页脚中,我有一个名为 TotalSub
的求和字段然后主窗体上的一个字段有一个源TotalMain=[subfrmData]![TotalSub]。 当我在主表单上导航记录时,这些字段完美地工作并完美地更新。
我有一个按钮,如果 [TotalMain] 字段大于零,我想启用该按钮。如果我使用基础表中的字段,OnCurrent 中用于启用该按钮的代码可以完美运行。但 [TotalMain] 只是一个根据子表单中的数据动态更改/求和的字段。
我在OnCurrent中放入了一个测试msgbox,并确认OnCurrent时该字段为空。我继续在 every.single.event 中放置一个过程。并且计算字段更新后不会触发任何内容。
我还尝试将代码放在子窗体的 OnCurrent 中(然后是子窗体的每个事件)。但我找不到计算字段更新后发生的任何事件。
我做错了什么?如果计算字段更新后确实没有发生任何事件,是否有其他方法可以解决此问题,以便我可以显示计算信息并在大于零时启用按钮?
将该文本框绑定到一个函数,该函数使用当前值作为参数来处理它:
=YourFunction([subfrmData]![TotalSub],[OtherField],[NameOfButton])
函数可以是这样的:
Private Function YourFunction( _
TotalSubValue As Currency, _
OtherValue As Currency, _
YourButton As Button)
Dim Value As Currency
Dim Enabled As Boolean
' Calculate value.
Value = TotalSubValue * OtherValue ' Your calculation
' Calculate button status.
If TotalSubValue > 0 Then
Enabled = True
End If
' Set button.
YourButton.Enabled = Enabled
' Return value.
YourFunction = Value
End Function
您可能需要扩展它来处理可能的 Null 值。