我有这段代码:
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
你可以帮帮我们吗?谢谢。
答案 0 :(得分:2)
你错放了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