按微软的定义,使用IsNull和IsEmpty时,参数应为Variant类型数据。数据类型都有默认值: 类型 默认值 String 空串(注意空串是字串的一种,和Empty不是一回事) Integer 0 Long 0 Single 0 Double 0 Currency 0 Date 0:00:00 Boolean False Byte 0 Variant类型数据的默认值是Empty
你说对了,对变量值的判断,ISNULL和ISEMPTY只对VARIAIN类型数据有用,而数字用IsNumeric判断。对于一个VARIAIN变量要判断它的数据类型可以用TypeName dim a ,b as string a="aaaa" debug.print typename(a) a=100 debug.print typename(a) . .
如果是文本,默认为null,在VB中isnull会返回true,如果输入或赋值为"",则为零长度字符串,isnull返回false.如果要判断文本字段为null还是零长度字符串,可先用isnull测试,然后再用len测长度。
就像你用 Is飞行器(自行车) 一样。
1,ISNULL和ISEMPTY是Variant型变量特有的值状态
2,VB6允许把其它类型变量赋值给Vaiant变量,但因为1,所以赋值后也只可能是其它值
3,所以你用ISNULL和ISEMPTY去判断其他类型的变量数值,"相当于判断一个隐含转换后的Variant变量",当然会永远是False
类型 默认值
String 空串(注意空串是字串的一种,和Empty不是一回事)
Integer 0
Long 0
Single 0
Double 0
Currency 0
Date 0:00:00
Boolean False
Byte 0
Variant类型数据的默认值是Empty
dim a ,b as string
a="aaaa"
debug.print typename(a)
a=100
debug.print typename(a)
.
.