白鹭の旅馆在线观看:高分问题:关于VB中的TreeView控件读取问题,请VB的高手指教!

来源:百度文库 编辑:高校问答 时间:2024/04/29 14:06:56
在VB中使用TreeView控件读取数据表中ID内容是一个不错的选择,在读取一个数据表的ID内容根本部存在问题,但是如果要读取多个数据表中的不同ID是否可以?

用SQL语句连接数据表:
strSQL = "SELECT 表1.ID AS SID1,表2.ID AS SID2,表3.ID AS SID3,"
strSQL = strSQL + "表1.名称 AS SMC1,表2.名称 AS SMC2,表3.名称 AS SMC3,"
strSQL = strSQL + "表1.规格 AS SGG1,表2.规格 AS SGG2,表3.规格 AS SGG3,"
strSQL = strSQL + "表1.数量 AS SSL1,表2.数量 AS SSL2,表3.数量 AS SSL3"
strSQL = strSQL + " FROM 表1,表2,表3"
RS.Open strSQL, db, 3, 3
读取执行字段内容是没有问题的,将内容存放在数组中,比如:
XID1(Nodx1.Index) = RS!SID1
XID2(Nodx1.Index) = RS!SID2
XID3(Nodx1.Index) = RS!SID3
XMC1(Nodx1.Index) = RS!SMC1
XMC2(Nodx1.Index) = RS!SMC2
XMC3(Nodx1.Index) = RS!SMC3
.........
Set Nodx1 = TreeView1.Nodes.Add("A", tvwChild)
Nodx1.Text = RS!SMC1
Nodx1.Image = "TP3"
Nodx1.Tag = "Site"
Set Nodx1 = TreeView1.Nodes.Add("B", tvwChild)
Nodx1.Text = RS!SMC2
Nodx1.Image = "TP3"
Nodx1.Tag = "Site"
Set Nodx1 = TreeView1.Nodes.Add("C", tvwChild)
Nodx1.Text = RS!SMC3
Nodx1.Image = "TP3"
Nodx1.Tag = "Site"
控件中列表是没有问题的.

现在的问题是在点击控件中的列表名称时,显示在其他控件中,例如点击RS!SMC1的某个名称,在标签控件显示表1相应的内容:

Private Sub TreeView1_NodeClick(ByVal Node1 As Node)
Label4(0).Caption = XID1(Node1.Index - 1)
Label4(1).Caption = XMC1(Node1.Index - 1)
Label4(2).Caption = XGG1(Node1.Index - 1)
Label4(3).Caption = XSL1(Node1.Index - 1)
Label4(4).Caption = XDJ1(Node1.Index - 1)
Label4(5).Caption = XJG1(Node1.Index - 1)
Label4(6).Caption = XJE1(Node1.Index - 1)
Label4(7).Caption = ZDW1(Node1.Index - 1)
Label4(8).Caption = XHJ1(Node1.Index - 1)
点击RS!SMC2的某个名称,在标签控件显示表2内容时仍然是:
Label4(0).Caption = XID2(Node1.Index - 1)
Label4(1).Caption = XMC2(Node1.Index - 1)
Label4(2).Caption = XGG2(Node1.Index - 1)
Label4(3).Caption = XSL2(Node1.Index - 1)
Label4(4).Caption = XDJ2(Node1.Index - 1)
Label4(5).Caption = XJG2(Node1.Index - 1)
Label4(6).Caption = XJE2(Node1.Index - 1)
Label4(7).Caption = ZDW2(Node1.Index - 1)
Label4(8).Caption = XHJ2(Node1.Index - 1)
点击RS!SMC3的某个名称,在标签控件显示表3内容时也是:
Label4(0).Caption = XID3(Node1.Index - 1)
Label4(1).Caption = XMC3(Node1.Index - 1)
Label4(2).Caption = XGG3(Node1.Index - 1)
Label4(3).Caption = XSL3(Node1.Index - 1)
Label4(4).Caption = XDJ3(Node1.Index - 1)
Label4(5).Caption = XJG3(Node1.Index - 1)
Label4(6).Caption = XJE3(Node1.Index - 1)
Label4(7).Caption = ZDW3(Node1.Index - 1)
Label4(8).Caption = XHJ3(Node1.Index - 1)
实在不明白应该如何处理,望请VB的高手指教,谢谢!!
由于在连接中出现错误连接,主要是想连接的表有时连接到其他表中,修改多次仍然无法正确连接,因此换了思路,用其他方法解决了,谢谢fancy_wp 和jizhongbo 。

你的思路没什么大问题,能说明一下出现什么错误吗?
能否将你的程序发给我,我帮你看看。
jizhongbo@126.com QQ:115458756

根绝我的DELPHI和C#经验,我认为当你点击那个列表的时候,必定有个事件,
也就是说 系统会提供函数 读当前的CURRENT值. 在DELPHI里 DBGIRD放在点在哪一行,焦点就会自己放到那一行上,如果要取数,是很简单的噢.可惜没用过VB,呵呵 只弄瞎猜下了