以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  数值比较  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=171610)

--  作者:15666282205
--  发布时间:2021/9/4 11:37:00
--  数值比较
老师,表里A、B两列,先在A录入数值,后在B录入数值,录入B的时候和A的值对比,如果小于A则提示“B列数值错误”,如何写代码?请您指导。
--  作者:有点蓝
--  发布时间:2021/9/4 12:02:00
--  
参考:http://www.foxtable.com/webhelp/topics/0624.htm

datacolchanging事件

If e.DataCol.Name = "B" Then
    
If e.datarow("B") < 
e.datarow("A") Then
        MessageBox.Show("B列数值错误!")
        e.Cancel = 
True
    End
 If
End
 
If

--  作者:15666282205
--  发布时间:2021/9/4 14:41:00
--  
老师,好像If e.datarow("B") < e.datarow("A") 没发挥作用,无论B列输入什么数值都出现提示,我把这行代码注释了也是都出现提示。麻烦您看看。
--  作者:有点蓝
--  发布时间:2021/9/4 15:02:00
--  
请上传实例说明
--  作者:15666282205
--  发布时间:2021/9/4 15:10:00
--  
老师,麻烦您看看
--  作者:15666282205
--  发布时间:2021/9/4 15:11:00
--  
实例
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数值比较.foxdb


--  作者:有点蓝
--  发布时间:2021/9/4 15:27:00
--  
把A和B列数据类型改为数值列,比如整数,双精度。http://www.foxtable.com/webhelp/topics/0036.htm

字符列按字符规则进行比较,字符是按顺序从左到右比较的,比如:"10"和"2","10"左边第一位是1,"2"的左边第一位是2,1比2小,所以"10"比"2"小

--  作者:15666282205
--  发布时间:2021/9/4 15:33:00
--  
老师,我改成双精度小数还是不行,整数也不行。
--  作者:有点蓝
--  发布时间:2021/9/4 15:36:00
--  
If e.datarow("B") < e.datarow("A") Then
改为
If e.newvalue < e.DataRow("A") Then

--  作者:15666282205
--  发布时间:2021/9/4 15:45:00
--  
好了,谢谢!