Dim i as integer
i = Null '这样不行
i = vbNullString '也不行

解决方案 »

  1.   

    说一下具体情况:
    我有一个class,内面有一个int属性数组,以下是取属性数组中某个值的代码Public Property Get Rule(ByVal Index As Integer) As Integer
    On Error GoTo Err
        Rule = mintRule(Index) 'index不在数组范围时会发生错误
        Exit Property
    Err:
        Rule = Null '发生错误的时候想返回一个NULL,但VB好象不支持把变量设成NULL的,不知如何做
    End Property
      

  2.   

    等于空""不行吗?i is NULL呢?
      

  3.   


    Dim i as integer
    i = vbNull
      

  4.   

    不行,vbNull实际值是1, 我要的是真正的NULL值! 
    各位朋友,请看一下1楼的情况,应该如何解决!
      

  5.   

    在VB里是不允许把一个NULL值设到integer,string,boolean等变量中的!Dim i as Variant
    i = Null  'OK
      

  6.   

    那么,如何解决1楼中说的情况,我想遇到错误的时候,返回一个NULL值!
      

  7.   

    将返回值类型改为variant行么?
      

  8.   

    算了,我看没什么办法了,只能把integer属性改成variant了!
    不知VB.NET能不能给INT变量赋NULL值
      

  9.   

    i=vbNull不行?
    要不就
    dim i as Variant
    i=Null
      

  10.   

    好像楼主对Null的意思有误解吧
      

  11.   

    只要你Dim i as integer,那么i就永远不可能为null了
      

  12.   


     正确答案是:
     
     Dim i As Integer
     i = Asc(vbNullChar) '这里是给integer变量赋Null值
     If Chr(i) = vbNullChar Then
        MsgBox "明白了吧", vbOKOnly, "提示"
     End If
      

  13.   


     正确答案是:
     
     Dim i As Integer
     i = Asc(vbNullChar) '这里是给integer变量赋Null值
     If Chr(i) = vbNullChar Then
        MsgBox "明白了吧", vbOKOnly, "提示"
     End If
      

  14.   

    to 楼上的,这样做的话,实际上就是赋0值,与 i = 0 没区别! 我用其它语言任何类型的变量都可以是NULL的,许多数据库也是可以为NULL,比如SQL SERVER定义一个变量的时候,初始值就是NULL,就是这个VB不能,似乎有点不规范.
      

  15.   

    下面的例子你会明白了:    Dim i As Integer
        Dim j As Integer
        i = Asc(vbNullChar) '这里是给integer变量赋Null值
        j = Asc(0)
        If i <> j Then
           MsgBox "i不等于j   i=" & i & "   j=" & j
        End If
      

  16.   

    而且你要知道NULL的C++定义是:#define NULL 0这才是最重要的