我有一个具有计算值的字段(总计)。
这是控件来源:= [FrmSupplierQuote]。[Form]。[TotalSupplierCost]
更新子表单时,此字段正在更新
当此字段更新时,我希望执行更新字段FinalPrice的子例程:
Public Sub Update_FinalPrice()
Me.FinalPrice = Round((Me.Total * (1 + Me.Markup)), 2)
End Sub
我已经尝试过更改事件,更新后和活动时没有运气的事件。我想知道我是否采取了正确的方法,我愿意接受如何使这项工作的建议。我想知道我是否应该从subForm开车。我有另一个这样的形式有两个子形式。
答案 0 :(得分:1)
你应该更清楚你输入的位置,但假设输入进入子表格,那么:
父表单永远不会在更新或更改之后变脏,因为它是变脏,更改和更新的子表单。
在子窗体的相关事件中(我不确定您如何计算父级“Me.Total”,因此不清楚使用哪个事件)您可以在父窗体中调用Update_FinalPrice子。
这种设计很不错,因为父表单不需要知道它所拥有的子表单的性质。它所要做的只是暴露一个完成工作的公共Sub。然后,在子表单上有责任使用其Parent属性调用此子。
我会在父表单中编写一个Update_All方法,子表单只是为了所有目的而调用它。它可能需要一些重构,但你最终会得到一个更简单的应用程序。否则,您将在计算总数,何时计算最终价格等任意数量的组合时进行讨论。注意维护,而不是开发,是软件的最高成本。如果设计不当,那么应该的很多成本应该是你的:你弄错了并不是客户的错。