具体情况如下:
建立了一个aa(adodb.connection)    
然后建立一个bb(recordset)    
使用 set bb.activeconnection=aa
但发现直接使用bb.activeconnection=aa也行
用set和不用set到底有哪些区别

解决方案 »

  1.   

    對象要用set的,但你提到的屬性賦值,內部處理有用set,外面的賦值實際上隻是參數傳遞
      

  2.   

    "內部處理有用set,外面的賦值實際上隻是參數傳遞"
    如何理解内部和外面
      

  3.   

    那换句话说set bb.activeconnection=aa
    可以直接bb.activeconnection=aa
      

  4.   

    set是对对象而言的,比如对象form,
      

  5.   

    还是给个例子吧Set 语句将对象引用赋给变量。假定 YourObject 指向
    一个具有 Text 属性的合法对象。Dim YourObject, MyObject, MyStr
    Set MyObject = YourObject   '对象引用赋值。
    'MyObject 和 YourObject 引用同一个对象。
    YourObject.Text = "Hello World"   '初始化属性。
    MyStr = MyObject.Text   '返回 "Hello World"。'脱离关联。MyObject 不再引用 YourObject。
    Set MyObject = Nothing   '释放该对象。
      

  6.   

    class1.cls...Option ExplicitDim cnn As ADODB.ConnectionPublic Property Get ActiveConnection() As ADODB.Connection
        Set ActiveConnection = cnn
    End PropertyPublic Property Let ActiveConnection(ByVal vNewValue As ADODB.Connection)
        Set cnn = vNewValue
    End Property...-----------------------------------------------------------Form1.frm...Private Sub Command1_Click()
        
        Dim cnn As New ADODB.Connection
        cnn.ConnectionString = "..."
        cnn.Open
        
        Dim cls As New Class1
        cls.ActiveConnection = cnn
        
    End Sub...
      

  7.   

    对"对象"赋值时需要加上set 

    dim rsTemp as object
    set rstemp= createobject("adodb.recordset")
    普通的赋值就不需要加上set
      

  8.   

    .net 里所有的赋值均不需要再加上set了