点击下载此附件
图 示:
代 码:
Private Sub Form_Load()
Dim rststudent As DAO.Recordset
Dim strkey As String, strText As String
Dim strgrade As String, strclass As String
Dim nodgrade As Node, nodclass As Node, nodstudent As Node '后来增加定义颜色用
Set rststudent = CurrentDb.OpenRecordset("select * from 表1 order by 表1.学生学号")
With rststudent
If .EOF Then Exit Sub
.MoveFirst
Do Until .EOF
strgrade = !年级
strclass = !班级
If nodeexist(Me.tvwcommon.Object, strgrade) = False Then
'增加年级节点
Set nodgrade = tvwcommon.Nodes.Add(, , strgrade, strgrade, "Grade")
With nodgrade
.ForeColor = vbRed '给字体加颜色
.Bold = True
End With
End If
If nodeexist(Me.tvwcommon.Object, strgrade & strclass) = False Then
'增加班级级节点
Set nodclass = tvwcommon.Nodes.Add(strgrade, tvwChild, strgrade & strclass, strclass, "Class")
With nodclass
.ForeColor = vbBlue
End With
End If
'增加学生节点
Set nodstudent = tvwcommon.Nodes.Add(strgrade & strclass, tvwChild, "K" & !学生学号, !学生学号 & " " & !学生姓名, "Student", "Selected")
With nodstudent
.ForeColor = RGB(200, 30, 50)
.BackColor = vbCyan
End With
.MoveNext
Loop
End With
exithere:
rststudent.Close
Set rststudent = Nothing
Exit Sub
errorhander:
MsgBox Err.Number & Err.Description
GoTo exithere
End Sub