保健用品包含哪些:VB编程中TreeVieW怎么使用?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 21:10:35
我在一个程序中要用到如下功能,不知怎么实现:
1、访问一个地址数据库,
2、用TREEVIEW控件显示,功能如此:
省份—(在数据库中取得)
地区—(在数据库中取得)
城市—(在数据库中取得)
……
3、地区对应相应的省份,即子目录与父目录是相对应的,如江西省下有南昌地区,赣州地区行一样,赣州地区下面又可以展开赣州市,南康市,定南县,龙南县等;
4、可以展开,也可以全部收起来。
不知怎样实现,请大侠们帮帮我,
给个实例最好!
问题补充:数据库是这样的:
表一:地址属性:
地址编号(自动编号)
属性(字符)
表二:地名表
地名编号(自动编号)
地名(名称)
地址属性(数字)
所在地(数字)
其中
地址属性与表一的属性相对,当选择上一个属性之后,就进行一次搜索,搜索具有该属性的地址,显示在下一个所在地的控件里面,所在地如果是顶级则是用“0“表示,如不是则用所获和是的所在地表示
怎么实现
要是你有这个程序,能把代码发给我吗?
我的E-MAIL:ncpeople@163.com

我把我做的一个有关treeview和listview的事例给你,你参考一下
----------------------------以下为模块代码
??Option Explicit
??
??Public Cnn As ADODB.Connection
??Public ServerName As String
??'服务器名
??Public DBname As String
??'数据库名
??Public UserName As String
??'用户名
??Public PassWord As String
??'密码
??Public rsTree As ADODB.Recordset
??Public rsList As ADODB.Recordset
??
??
??Public Function IniDB() As Boolean
?? '初始化连接函数
?? On Error GoTo MyErr
?? IniDB = False
?? Set Cnn = New ADODB.Connection
?? With Cnn
?? .ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" & UserName & ";PWD=" & PassWord & ";Initial Catalog=" & DBname & ";Data Source=" & ServerName
?? '连接字符串
?? .CommandTimeout = 10
?? '连接等待时间
?? .CursorLocation = adUseClient
?? '游标类型
?? .Open
?? End With
?? IniDB = True
?? Exit Function
??MyErr:
?? MyErr
??End Function
??
??
??Public Sub MyErr()
?? MsgBox "错误号:" & Err.Number & vbCrLf & "错误源:" & Err.Source & vbCrLf & "错误描述:" & Err.Description, vbCritical, "对不起,出现错误!"
?? Err.Clear
??End Sub
??=================================以下为窗体代码==========================================
??'treeview控件名为tvwtree,listview控件名为lvwtree
??Private Sub Form_Load()
?? ServerName = "."
?? DBname = "northwind"
?? UserName = "sa"
?? If IniDB() = False Then
?? MsgBox "数据连接失败,请启动SQL SERVER服务"
?? Exit Sub
?? End If
?? Dim NodeX As Node
?? Set rsTree = New ADODB.Recordset
?? rsTree.Open "select * from dept order by dlevel,did", Cnn, adOpenStatic, adLockOptimistic
?? Do Until rsTree.EOF
?? If rsTree.Fields("dlevel") = 0 Then
?? TvwTree.Nodes.Add , , "k" & rsTree.Fields("did").Value, rsTree.Fields("dname").Value
?? Else
?? TvwTree.Nodes.Add "k" & rsTree.Fields("dtid").Value, tvwChild, "k" & rsTree.Fields("did").Value, rsTree.Fields("dname").Value
?? End If
?? rsTree.MoveNext
?? Loop
??End Sub
??
??
??
??
??
??
??
??Private Sub TvwTree_NodeClick(ByVal Node As MSComctlLib.Node)
?? LvwTree.ListItems.Clear
?? Set rsList = New ADODB.Recordset
?? rsList.Open "select * from dept where dname='" & TvwTree.SelectedItem & "'", Cnn, adOpenStatic, adLockOptimistic
?? If rsList.Fields("dend") = 0 Then
?? rsList.Close
?? rsList.Open "select * from dept where dtid=(select did from dept where dname='" & TvwTree.SelectedItem & "')", Cnn, adOpenStatic, adLockOptimistic
?? Do Until rsList.EOF
?? LvwTree.View = lvwList
?? LvwTree.ListItems.Add , , rsList.Fields("dname")
?? rsList.MoveNext
?? Loop
?? Else
?? Dim Temp As Integer
?? Temp = rsList.Fields("did").Value
?? rsList.Close
?? rsList.Open "select * from emp where edid=" & Temp, Cnn, adOpenStatic, adLockOptimistic
?? Do Until rsList.EOF
?? LvwTree.View = lvwList
?? LvwTree.ListItems.Add , , rsList.Fields("ename")
?? rsList.MoveNext
?? Loop
?? End If
??End Sub