VBA 当结果相差 0 时发出警报

VBA alert when the result is different by 0

我有这个代码:

DM.OnUpdate="CalculDiferenta"
DM.OnInsert="CalculDiferenta"

Sub CalculDiferenta

If Dsrid.Value=50000 Then

stl.first
Do While Not Stl.Eof
Diferenta.Value=Cantv.Value-Cantc.Value


Stl.Next
Loop

end if
End Sub

它计算文档中 2 个数量列之间的差异。 现在,如果有任何差异 (Cantv.Value-Cantc.Value <> 0 ),我想得到提醒。该代码应检查文档的每一行是否有任何差异,并在找到第一行时停止并显示 msgbox。

我这样做了,但我不确定是否可以。当最后一行有差异时,它会显示一个弹出窗口。

DM.OnUpdate="VerificareDiferente"
DM.OnInsert="VerificareDiferente"

Public Sub VerificareDiferente

If Dsrid.value=50000 and Cantv.Value-Cantc.Value <> 0  then

stl.first
             Do  While Not Stl.Eof
       MsgBox "Exista diferente intre cantitate comandata si cantitate verificata.", vbInformation, "Atentie !!!"
             Stl.Next
             Loop
       end if
End Sub

你们能帮帮我吗?谢谢。

您只是放错了 If 语句,它应该在循环内:

DM.OnUpdate = "VerificareDiferente"
DM.OnInsert = "VerificareDiferente"

Public Sub VerificareDiferente()
    Stl.first
    Do While Not Stl.EOF
        If Dsrid.Value = 50000 And Cantv.Value - Cantc.Value <> 0 Then
            MsgBox "Exista diferente intre cantitate comandata si cantitate verificata.", _
                vbInformation, "Atentie !!!"
        Else
        End If
        Stl.Next
    Loop
End Sub