以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  数量有效性输入验证  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=129280)

--  作者:dzy1232016
--  发布时间:2018/12/25 16:57:00
--  数量有效性输入验证
If e.col.name="出库数量" Then 
 If  Tables("统计完成").Current("出库数量")>Tables("统计完成").Current("订单数量") Then 
MessageBox.Show("出库数量怎么能大于订单数量呢?", "警告", MessageBoxButtons.ok, MessageBoxIcon.Error)
 e.Cancel=True
End If
End If
如果在ValidateEdit里面加上这个代码不管否正确它都弹出对话框
如果在AfterEdit 里面加上这个代码如果错误值也能输入进表。这个应该怎么样修改?
[此贴子已经被作者于2018/12/25 16:58:46编辑过]

--  作者:有点蓝
--  发布时间:2018/12/25 17:23:00
--  
If e.Col.name="出库数量" Then
    If  e.Row("出库数量") > e.Row("订单数量") Then
        MessageBox.Show("出库数量怎么能大于订单数量呢?", "警告", MessageBoxButtons.ok, MessageBoxIcon.Error)
        e.Cancel=True
    End If
End If

--  作者:dzy1232016
--  发布时间:2018/12/25 22:35:00
--  
请问版主这个放哪个事件里,放validatedit哪第一次录入不起用后面改不了
--  作者:有点蓝
--  发布时间:2018/12/25 23:00:00
--  
DataColChanging事件中

If e.DataCol.name="出库数量" Then
    If  e.NewValue > e.DataRow("订单数量") Then
        MessageBox.Show("出库数量怎么能大于订单数量呢?", "警告", MessageBoxButtons.ok, MessageBoxIcon.Error)
        e.Cancel=True
    End If
End If

--  作者:dzy1232016
--  发布时间:2018/12/26 9:07:00
--  
可以验证,但也有个小问题,就是错误值清除了,光标也下移了。谢谢版主