Foxtable(狐表)用户栏目专家坐堂 → [求助]对于数值的验证


  共有1741人关注过本帖树形打印复制链接

主题:[求助]对于数值的验证

帅哥哟,离线,有人找我吗?
jjjeyes
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
[求助]对于数值的验证  发帖心情 Post By:2018/11/12 22:56:00 [只看该作者]

我有一张“表A”,有一列“长跑”填写的内容是学生1000米跑步的成绩,为了输入的方便,我将输入“'”用“.”代替。如输入数据为4'34,则只需要输入4.34。数据“长跑”列的类型为字符型。
请问如何验证输入数据的有效性:
1、输入数据小数点后的值必须小于60
2、小数点前的值要在2至8之间

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/12 23:13:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/scr/0617.htm

大概类似

If e.Col.Name = "长跑" Then '如果正在输入的是折扣列
    If e.Text > "" Then '如果已经输入内容
        Dim ar() As String = e.Text.split(".")
        If ar.Length = 2 Then
            Dim v1 As Double = Val(ar(0)) '将输入的内容转换为数值
            If v1 > 8 OrElse v1 < 2 Then '如果输入的值大于0.15
                e.Cancel = True '则禁止退出编辑模式
            Else
                Dim v2 As Double = Val(ar(1)) '将输入的内容转换为数值
                If v2 > 60 OrElse v1 <= 0 Then '如果输入的值大于0.15
                    e.Cancel = True '则禁止退出编辑模式
                End If
                
            End If
        Else
            e.Cancel = True '则禁止退出编辑模式
        End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
jjjeyes
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2684 威望:0 精华:0 注册:2011/10/29 16:26:00
  发帖心情 Post By:2018/11/12 23:37:00 [只看该作者]

明白了,主要是分割字符split的运用

 回到顶部