为什么IsDate("100-01-01")会是True,我明明是字符串类型的,它却变成了日期型,怎样可以防止VB的这种自动转换?

解决方案 »

  1.   

    什么意思呢?用CStr()?能否详细点?
    我本来是想用IsDate进行判断Variant变量,如果是日期型则使用一种方法处理,如果是字串型则使用另一种方法处理,但现在字串型变量a="100-01-01"时,却被判断成了IsDate型,导致出错
      

  2.   

    VarType 函数  语言参考 
    版本 1 
     请参阅 
    --------------------------------------------------------------------------------描述
    返回指示变量子类型的值。
    语法
    VarType(varname)
    varname 参数可以是任何变量。返回值
    VarType 函数返回下列值:
    常数 值 描述 
    vbEmpty 0 Empty(未初始化) 
    vbNull 1 Null(无有效数据) 
    vbInteger 2 整数 
    vbLong 3 长整数 
    vbSingle 4 单精度浮点数 
    vbDouble 5 双精度浮点数 
    vbCurrency 6 货币 
    vbDate 7 日期 
    vbString 8 字符串 
    vbObject 9 Automation 对象 
    vbError 10 错误 
    vbBoolean 11 Boolean 
    vbVariant 12 Variant(只和变量数组一起使用) 
    vbDataObject 13 数据访问对象 
    vbByte 17 字节 
    vbArray 8192 数组 --------------------------------------------------------------------------------
     
    注意 这些常数是由 VBScript 指定的。所以,这些名称可在代码中随处使用,以代替实际值。 --------------------------------------------------------------------------------
     
    说明
    VarType 函数从不通过自己返回 Array 的值。它总是要添加一些其他值来指示一个具体类型的数组。当 Variant 的值被添加到 Array 的值中以表明 VarType 函数的参数是一个数组时,它才被返回。例如,对一个整数数组的返回值是 2 + 8192 的计算结果,或 8194。如果一个对象有默认属性,则 VarType(object) 返回对象默认属性的类型。
    --------------------------------------------------------------------------------