设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 6121|回复: 17
打印 上一主题 下一主题

[窗体] 【Access小品】TreeView节点拖曳示例

[复制链接]
1#
发表于 2013-11-29 21:42:54 | 显示全部楼层
不错,老大,我单位里有个程序也在用treeview,遇到一个问题,treeview加载数据库中的各表及其字段,要实现点任意子节点,在子窗体中显示对应的数据源,有没有简单的写法?我现在用的是判断子节点级别,然后分别给子窗体赋值,因为单位不能上网,所以我举个例子您帮我看看。

数据库中有3个表,分别为
表1:编号,姓名,性别,出生日期
         01      张三    男      19481204
         02      李四    男      19860430
表2:编号,班级,班组
          07    class1  3组
          08    class3  4组
表3:姓名,出生日期,成绩,排名
         张三    19900924   97     2
         李四    19871110   96     3


另有一个表4:表名,排序字段1,排序字段2,排序字段3
                      表1     姓名
                      表2     班级             班组
                      表3     排名              姓名         成绩

现在,窗体打开时,treeview根据表4里的表名和排序字段自动加载各表和子节点,已经实现,如下

表1(表的名称)
-------张三
-------李四
表2
-------class1(第一级子节点)
--------------3组(第二级子节点)
-------class3
--------------4组
表3
--------2
--------------张三
-------------------97
--------3
---------------李四
-------------------96

假如直接点击表2下面第二级子节点“4组”,那么子窗体的recordsource="select * from 表2 where 班级='class3' and 班组='4组'"
假如直接点击表3下面第二级子节点“96”,那么子窗体的recordsource="select * from 表3 where 排名=3 and 姓名='李四' and 成绩=96"

我现在用的判断子节点fullpath中的"\"值,然后用split取它的第1、第2、第3个值,再设子窗体的recordsource,感觉这方法很笨,请问有没有好的办法。

(因为工作上有许多各种各样的数据要处理,用excel表太麻烦,特别是数据量一大就很慢,所以一直喜欢用access写数据库和管理,上面的要求如果分几个数据库和不用treeview肯定可以实现,但那样就学不到新的东西了)

注:各表之间没有关联


2#
发表于 2013-12-2 18:24:50 | 显示全部楼层
todaynew 发表于 2013-11-29 22:06
应该不必这么麻烦。
因为你的tree是确定层级的,每个层级都有特定的含义。这样的话在加载时,对node的ke ...

大师指点,茅塞顿开啊,明天去单位试试看.另外android手机登录access中国挺困难的,不知道有没有android版本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 12:25 , Processed in 0.093679 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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