不带参数的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
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
解决方案 »
- vb保存数据到excel时,总是提示“是否保存对book1的更改”,小弟好几天都没想明白,跪求高手帮忙解决,感激不尽
- 怎么样输出collection中保存的数据!急!一晚上没做出来。
- vb的延时最短可以到多少?
- 求一可以判断长度的正则表达式...(急急急)
- 按钮标题本来有两个字,可是程序拷到别的机器运行,按扭标题第二个字没了.按钮已经非常长了,一定放得下两个字.
- 急急急 在线等待ing
- 请问DataGrid的数据如何实时保存?
- 本人真心诚意想拜师学VB,不知道谁肯收我伐?
- 怎样才能给我的程序源代码加锁呢?
- VB里使用double数据类型一问
- 关于计时器Timer
- 初学者问的一个非常简单的问题!
Public Function GetClassInfo(ByVal Trv As TreeView, Optional ByVal sTitle As String = "代码管理系统1") As Boolean 联系不上 我要怎么理解Trv_Code_Class,请有空的老师帮我解释下 谢谢
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 就可以了