一个有意思的字典,树形字典 TreeDic-litao
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


一个有意思的字典,树形字典 TreeDic

发表时间:2021/4/24 11:15:23 评论(2) 浏览(5458)  评论 | 加入收藏 | 复制
   
摘 要:最后我用字典,派生出来一个【树形字典TreeDic】,专门处理这种树形数据结构。
正 文:
最近需要处理一些树形结构的数据,在VBA中一直没有太好的办法。用自定义数据类型,没法转换成Variant数据类型传递,而且很不好进行扩展。
使用字典、数组用起来也很麻烦。

最后我用字典,派生出来一个【树形字典TreeDic】,专门处理这种树形数据结构。
特点:
      1、来自字典,具备无限的扩展性。
      2、将Dictionary.Item,划分成3类:树枝 Branch(TreeDic)、果实Object(对象)、树叶Value(值),分别存放3种数据,数量无限制。
      3、通过树枝 Branch进行结构扩展,果实Object 和 树叶Value来存放该节点的数据。

在处理例如:行政区划,多级筛选的数据,非常好用!



演示代码:
Sub cs11()
    Dim TD As New TreeDic
    TD.Value("总人口") = 335
    '--
    Dim whq As TreeDic: Set whq = TD("中国")("四川")("成都")("武侯区")
    whq.Value("面积") = 76.56
    whq.Value("面积单位") = "平方公里"
    Debug.Print whq.Value("面积") & TD("中国")("四川")("成都")("武侯区").Value("面积单位")
    '--
    Dim BZS As TreeDic: Set BZS = TD("中国")("四川")("巴中")
    BZS.Value("电话区号") = "0827"
    Debug.Print BZS.Value("电话区号")
    '--
    Dim JB As TreeDic: Set JB = BZS("江北区")
    JB.Value("邮政编码") = 636099
    Debug.Print TD("中国")("四川")("巴中")("江北区").Value("邮政编码")

    '--
    TD("中国")("四川").Value("人口") = 123456789
    Debug.Print TD("中国")("四川").Value("人口")
End Sub


树形分类统计2.xls


我在另外的网站发了教程,可以看看!

http://club.excelhome.net/thread-1582854-1-1.html


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access通用工具源码】通用数据字典功能  【红尘如烟  2010/12/17】
【Access小品】事必做于细--字典的运用示例  【煮江品茶  2014/1/9】
使用字典浅谈  【缪炜  2018/10/19】
在VBA中使用字典  【杨雪  2019/8/24】
常见问答
技术分类
相关资源
文章搜索
关于作者

litao

文章分类

文章存档

友情链接