
请高手帮我看下vb代码错在哪里了,老提示要求对象
下面是代码PrivateSubForm_Load()DimRecAsNewADODB.RecordsetDimstRecQLAsStringDimItemAsIntege...
下面是代码
Private Sub Form_Load()
Dim Rec As New ADODB.Recordset
Dim stRecQL As String
Dim Item As Integer
Dim i As Integer
Dim nodindex As Node
Set nodindex = TreeView1.Nodes.Add(, , "爷", "China") '"1"代表的是未被选中时的图标,"2"代表是被选中后的图标
nodindex.Sorted = True
''爷
Rec.Open "省市", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For i = 0 To Rec.RecordCount - 1
Set nodindex = TreeView1.Nodes.Add("爷", tvwChild, "父" & Rec.Fields("省市ID"), Rec.Fields("省市"), "1", "2")
nodindex.Sorted = True
Rec.MoveNext
Next
Rec.Close
End Sub
窗体上有treeview控件,还有imagelist控件,还有adodc 展开
Private Sub Form_Load()
Dim Rec As New ADODB.Recordset
Dim stRecQL As String
Dim Item As Integer
Dim i As Integer
Dim nodindex As Node
Set nodindex = TreeView1.Nodes.Add(, , "爷", "China") '"1"代表的是未被选中时的图标,"2"代表是被选中后的图标
nodindex.Sorted = True
''爷
Rec.Open "省市", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For i = 0 To Rec.RecordCount - 1
Set nodindex = TreeView1.Nodes.Add("爷", tvwChild, "父" & Rec.Fields("省市ID"), Rec.Fields("省市"), "1", "2")
nodindex.Sorted = True
Rec.MoveNext
Next
Rec.Close
End Sub
窗体上有treeview控件,还有imagelist控件,还有adodc 展开
2个回答
展开全部
我给你做了一个范例:
为了让你自己琢磨,我做的是;年级--班级--学生,你模仿吧!
你需要掌握:
1,ADODB对象的使用或者ADODC控件的使用,以及数据库操作的知识。
2,TreeView的基本使用方法。
可以看看我的空间里关于 TreeView 的文章。
更多追问追答
追问
Set nodX = TreeView1.Nodes.Add(Left(Rst.Fields("班级"), 2), tvwChild, Rst.Fields("班级"), Rst.Fields("班级")) 老师这句话我有点看不明白,尤其是这句“Left(Rst.Fields("班级"), 2”,老师你能帮我解释一下吗
追答
语句格式:
Set nodX = TreeView1.Nodes.Add(relative, relationship, key, text, image, selectedimage)
使用Nodes对象的Add方法,添加一个节点,该方法有多个参,我只使用了前4个参数:
首先看看例子:
Set nodX = TreeView1.Nodes.Add(, , "高三", "高三")
其结果,添加一个根节点,该节点的键值是"高一",显示的文字也是"高三",注意,第一个"高三"是键值,第2个"高三"是显示的文本。
接下来:
Set nodX = TreeView1.Nodes.Add("高三",tvwChild , "高三(1)班", "高三(1)班")
第1个参数"高三",表示新添加的节点以键值“高三”为参照节点。(所有的节点的键值是唯一的)
第2个参数tvwChild,表示是添加的节点是参照节点的子节点。(也就是添加的节点,在“高三”节点下)
第3个参数 "高三(1)班",是新添加的节点的键值。
第4个参数 "高三(1)班",是新添加的节点的显示文本。
我的例子里:
第1,3,4个参数,就是使用数据表记录的字段值;
比如:当执行SQL语句"Select DISTINCT 班级 From 学生信息 Order By 班级"
假设返回有一条记录:可见只有一个字段;
班级
高三(1)班
那么:Rst.Fields("班级"),返回的就是班级信息,而其中左边2个字符就是年级信息,所以:
Left(Rst.Fields("班级"), 2) ---- 取左边2个字符作为参照的父节点的键值
tvwChild ---- 新节点是参照节点的子节点
Rst.Fields("班级") ---- 新节点的键值
Rst.Fields("班级")) ---- 新节点的显示文本
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询