大概的方法
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String
Dim rootNode As Node
Dim symptomNode As Node
' 清空TreeView
tvData.Nodes.Clear
' 建立数据库连接
Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB;Data Source=ABC-PC;" & _
"Initial Catalog=.;User ID=用户名;Password=密码;"
conn.Open
' 执行SQL查询
strSQL = "SELECT 一级目录, 二级目录, 三级目录 FROM 根目录 ORDER BY 一级目录"
Set rs = New ADODB.Recordset
rs.Open strSQL, conn, adOpenStatic, adLockReadOnly
' 添加根节点
Set rootNode = tvData.Nodes.Add(, , "root", "根目录名")
' 遍历记录集
If Not rs.EOF Then
rs.MoveFirst
Do Until rs.EOF
' 添加脉证主节点
Set symptomNode = tvData.Nodes.Add("root", tvwChild, "S" & rs.AbsolutePosition, _
rs!一级目录(数据库字段))
' 添加药方子节点
If Not IsNull(rs!二级目录(数据库字段)) Then
tvData.Nodes.Add symptomNode.Key, tvwChild, "P" & rs.AbsolutePosition, _
"二级目录:" & rs!二级目录(数据库字段)
End If
' 添加详细说明子节点
If Not IsNull(rs!二级目录(数据库字段)) Then
tvData.Nodes.Add symptomNode.Key, tvwChild, "p" & rs.AbsolutePosition, _
"二级目录:" & rs!二级目录(数据库字段)
End If
rs.MoveNext
Loop