Variant型变量具有三个特定值:
1. Empty
2. Null
3. Error
这个三个具体是如何区分?

解决方案 »

  1.   

    IsEmpty(), IsNull(), IsError()
    或者区分 VarType() 的返回值
      

  2.   

    isempty(var)=true
    isnull(var)=true
    iserror(var)=true
      

  3.   

    Empty值
    有时需要知道是否已将一个值赋予所创建的变量。在赋值之前,Variant 变量具有值 Empty。值 Empty 是异于0、零长度字符串 ("") 或 Null 值的特定值。可用 IsEmpty 函数测试 Empty 值:
    当 Variant 变量包含 Empty 值时,可在表达式中使用它;将其作为 0 或零长度字符串来处理,这要根据表达式来定。
    只要将任何值(包括 0、零长度字符串或 Null)赋予 Variant 变量,Empty 值就会消失。而将关键字 Empty 赋予 Variant 变量,就可将 Variant 变量恢复为 Empty。Null值
    Variant 数据类型还可包含一特定值:Null。Null通常用于数据库应用程序,表示未知数据或丢失的数据。 由于在数据库中使用 Null 方法,Null 具有某些唯一的特性: 
    对包含 Null 的表达式,计算结果总是 Null。于是说 Null 通过表达式“传播”;如果表达式的部分之值为 Null,那么整个表达式的值也为 Null。
    将 Null 值、含 Null 的 Variant 变量或计算结果为 Null 的表达式作为参数传递给大多数函数,将会使函数返回 Null。
    Null 值经由返回 Variant 数据类型的内在函数传播。 
    也可用 Null 关键字指定 Null 值。
    也可用 IsNull 函数测试 Variant 变量是否包含 Null 值。Error:这不是一个值,而是一个子类型
    CVErr 函数
    返回 Error 子类型的 Variant,其中包含指定的错误号。
    语法
    CVErr(errornumber)
    必要的 errornumber 参数可以是任何有效的错误号代码。
    说明
    可以在过程中,使用 CVErr 函数来创建用户自定义错误。例如,如果创建一个函数,它可以接受若干个参数,且正常返回一个字符串,则可以让函数来判断输入的参数,确认它们是在可接受的范围内。如果不是的话,此函数将不会返回所要的字符串。在这种情况下,CVErr 可以返回一个错误号,并告知应该采取的行动。
    注意,Error 的隐式转换是不允许的,例如,不能直接把 CVErr 的返回值赋值给一个非 Variant 的变量。然而,可以对 CVErr 的返回值进行显式转换(使用 CInt、CDbl 等等),并赋值给适当的数据类型变量。以上内容摘自MSDN