不带参数的Function我还理解得了,但是带参数的就很难看懂了,请有空的老师介绍个比较容易的例子来指点小弟一下 谢谢。或者帮我解释一下下面这Function带的参数为什么在Function过程是怎么调用的(这是一个关于treeview的Function)
Private Sub form_load()
If GetClassInfo(Trv_Code_Class) Then
      Trv_Code_Class.Nodes.Item(1).Expanded = True 
   End If
end subPublic Function GetClassInfo(ByVal Trv As TreeView, Optional ByVal sTitle As String = "代码管理系统1") As Boolean
   
   Dim ADO_Rset As New ADODB.Recordset
   Dim CONN_STRING As String
   Dim sKey As String
   
   CONN_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=daphacode.mdb"
   
   On Error GoTo GetClassInfoErr
   
   With ADO_Rset
      .ActiveConnection = CONN_STRING
      .CursorLocation = adUseClient
      .CursorType = adOpenStatic
      .LockType = adLockReadOnly
      
      .Source = "Select Class_ID,Class_Name from Class_Info"
      .Open      sKey = "daphacode_"
      '增加根
      With Trv
        .LabelEdit = tvwManual
        .ImageList = Ils_Command
        .LineStyle = tvwRootLines
        .Style = tvwTreelinesPlusMinusPictureText
        .Nodes.Clear
      End With
      
      Trv.Nodes.Add , , sKey, sTitle, 1
      
      If .EOF Or .BOF Then
      Exit Function
      Else
         .MoveFirst
         '开始增加大类
         Do While (Not .EOF And Not .BOF)
            Trv.Nodes.Add sKey, 4, "Class_" & .Fields(0).Value, .Fields(1).Value, 2
            .MoveNext
         Loop
         .Close
         
         .Source = "Select Class_ID,SmallClass_ID,SmallClass_Name,Code_Num from SmallClass_Info order by Class_ID"
         .Open
         
         If .EOF Or .BOF Then
         
         Else
            .MoveFirst
            '开始增加子类
            Do While (Not .EOF And Not .BOF)
               Trv.Nodes.Add "Class_" & .Fields(0).Value, 4, "SmallClass_" & .Fields(1).Value, .Fields(2).Value & "[" & .Fields(3).Value & "]", 3, 1
               .MoveNext
            Loop
         End If
         .Close
      End If
   End With
   Set ADO_Rset = Nothing
   GetClassInfo = True
   Exit Function
   
GetClassInfoErr:
   GetClassInfo = False
   If Err.Number = -2147217865 Then
      MsgBox "数据库不正确!请重新设置", vbQuestion
      Err.Clear
   End If
End Function

解决方案 »

  1.   

    就是调用时用了GetClassInfo(Trv_Code_Class) 这里面的Trv_Code_Class和
    Public Function GetClassInfo(ByVal Trv As TreeView, Optional ByVal sTitle As String = "代码管理系统1") As Boolean 联系不上 我要怎么理解Trv_Code_Class,请有空的老师帮我解释下 谢谢
      

  2.   

    就是TreeView,在不同的地方叫法不一样,但是同一东西,调用时位置要对应好
      

  3.   

    If GetClassInfo(Trv_Code_Class) Then 
          Trv_Code_Class.Nodes.Item(1).Expanded = True  
       End If 
    end sub 改成:If GetClassInfo(TreeView1) Then 
          TreeView1.Nodes.Item(1).Expanded = True  
       End If 
    end sub 就可以了
      

  4.   

    传到Function 里面后,Trv就是你用的控件的名字了