感谢关注,子窗体用下面的代码可以了。
Private Sub Form_AfterDelConfirm(Status As Integer)
Call OEE
End Sub
Private Sub Form_AfterUpdate()
Call OEE
End Sub
Sub OEE()
Dim rst As Object
Dim curSum As Currency
If Me.Dirty Then Me.Dirty = False '如果当前处理未保存状态,先进行保存
Set rst = Me.RecordsetClone '打开订单明细窗体的记录集副本,这样不对当前记录的显示等造成影响
If rst.RecordCount <> 0 Then rst.MoveFirst '如果订单明细记录不为空,先移到第一条记录
Do Until rst.EOF '循环所有记录至到最后一行记录
curSum = curSum + rst!产量 / IIf(Eval("'" & rst![线别] & "' in ('A1','A2', 'B1','B2')"), Nz(rst![库存单位重量]) * Nz(rst![工作时间]) * 1200, Nz(rst![库存单位重量]) * Nz(rst![工作时间]) * 600) '对每一行记录中的金额(售价x销售数量)进行累加
rst.MoveNext
Loop
Me.Parent!OEE = curSum '将父窗体(即订单窗体)中的“OEE”的值设为最后累加的值
Set rst = Nothing
End Sub