注册 登录
编程论坛 VB6论坛

if判断出错,明明是true却为false

w360989426 发布于 2014-03-12 12:29, 551 次点击
图1回单数量的值为111
只有本站会员才能查看附件,请 登录

图2的送货单数量的值为12
只有本站会员才能查看附件,请 登录

可是却判断111小于12,甚是不解,求指点
9 回复
#2
owenlu19812014-03-12 12:32
数据类型设置成文本型了!
对于字符串数据 "111" 是小于 "12"

[ 本帖最后由 owenlu1981 于 2014-3-12 12:35 编辑 ]
#3
w3609894262014-03-12 13:14
回复 2楼 owenlu1981
请问该输入设置数字类型?
#4
lowxiong2014-03-12 13:48
if val(datagrid2.c......)<val(datagride2.c......) then ......
#5
owenlu19812014-03-12 14:21
以下是引用w360989426在2014-3-12 13:14:30的发言:

请问该输入设置数字类型?


到数据库里去改,如果改不了数据库,就用楼上的数据转换,将文本型转成数字
#6
风吹过b2014-03-12 16:14
图片的提示,值的两边都有双引号。说明是字符串。
按楼上的去改吧。
#7
w3609894262014-03-12 22:26
首先感谢lowxiong版主的回答,是可行的,我数据库中的类型本来就是float,估计是显示在datagrid中,在取出来,本身的类型就发生了改变
。呵呵不过,如果用减法的话也可以,如 if datagrid1.colums("回单数量").value-datagrid.colums("送货单数量")<0 这个也是成立的,也可以
#8
风吹过b2014-03-13 09:13
用减法时,VB 会对数据试图自动转换成数值类型。所以你感觉也可以。
一般不建议这种做,如果某个元素数据为空时或不为数字时,会导致减法出错。
#9
w3609894262014-03-13 10:09
回复 8楼 风吹过b
我数据库中的格式是float,一般不存在这种问题,呵呵
#10
w3609894262014-03-13 10:09
回复 8楼 风吹过b
总之谢谢拉。。。问题解决拉,又学习到了基础知识
1