设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 三个太阳
打印 上一主题 下一主题

[宏/菜单/工具栏] 代码正确运行了,但treeview为何没有正常加载数据呢?

[复制链接]
11#
 楼主| 发表于 2015-7-8 16:56:47 | 显示全部楼层
roych 发表于 2015-7-8 16:48
key值是唯一的。树控件也是根据key值来判断节点的从属关系的。事实上,也只有在忽略掉错误提示时,这段代 ...

老师,你看看运行结果貌似有些误差
12#
 楼主| 发表于 2015-7-8 17:28:16 | 显示全部楼层
roych 发表于 2015-7-8 17:05
确实存在这个问题。
还是应该改为递归才行。不然的话,这么movenext几下,全都乱套了。

谢谢老师,我的代码初步设计确实有问题!以下是修改好的:
Private Sub Command1_Click()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select * from 学生表")
On Error Resume Next '此句是用来处理下面循环里面Index语句的
ActiveXCtl0.nodes.Add , , "学生管理", "学生管理"
With rs
Do Until .EOF
        If ActiveXCtl0.nodes("学生管理" & .Fields(2)).Index < 0 Then
        ActiveXCtl0.nodes.Add "学生管理", 4, "学生管理" & .Fields(2), .Fields(2)
        End If
        If ActiveXCtl0.nodes("学生管理" & .Fields(2) & .Fields(3)).Index < 0 Then
        ActiveXCtl0.nodes.Add "学生管理" & .Fields(2), 4, "学生管理" & .Fields(2) & .Fields(3), .Fields(3)
        End If
        ActiveXCtl0.nodes.Add "学生管理" & .Fields(2) & .Fields(3), 4, "学生管理" & .Fields(2) & .Fields(3) & .Fields(0), .Fields(1)
.MoveNext
Loop
End With
End Sub
13#
 楼主| 发表于 2015-7-8 17:29:09 | 显示全部楼层
风中漫步 发表于 2015-7-8 17:11
这种方法感觉比较麻烦啊.再试试循环所有结点,比较路径的方法,看可行吧.
将每个key设为学生管理\年纪\班级

谢谢老师啦,看来确实要把key值设定好!
14#
 楼主| 发表于 2015-7-8 17:35:47 | 显示全部楼层
roych 发表于 2015-7-8 17:31
幸亏也只有三层啊。要是多几层,写起来估计也不是一件太愉快的事情了

是啊,今天麻烦roych版主以及其他的各位老师了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-4 14:07 , Processed in 0.091422 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表