很少的代码把列表框改造成树结构-蟹仔
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-窗体/数据页


很少的代码把列表框改造成树结构

发表时间:2013/12/27 16:43:43 评论(7) 浏览(8586)  评论 | 加入收藏 | 复制
   
摘 要:列表框,树结构,目录树
正 文:

点击下载此附件

 

     论坛里面有很多做得很好的目录树,可惜这个控件不是所有计算机都自带的。导致用了这个控件会让某些电脑不能正常显示。所以最好的办法是利用列表框去改造一个,论坛里面有一个现有的树形列表框。看了一下代码有点复杂。新手理解可能稍微有点复杂,所以我就重写了个新的。

Private Sub Form_Load()
Dim i As Integer
Dim strsql As String
strsql = ""
For i = 1 To DMax("大类", "类别")
If DCount("类型名称", "类别", "大类=" & i & "") > 1 Then
strsql = strsql & " select 大类,小类,'+' & 类型名称 as 菜单名 from 类别 where 小类=0 and 大类=" & i & "" & " union "
Else
strsql = strsql & " select 大类,小类,' ' & 类型名称 as 菜单名 from 类别 where 小类=0 and 大类=" & i & "" & " union "
End If
Next
 
Me.列表框.RowSource = Left(strsql, Len(strsql) - 6) & " order by 大类,小类"
End Sub
 
Private Sub 列表框_Click()
    Dim strsql As String
    If Me.列表框.Column(1) = 0 Then
        If Me.列表框.ListIndex + 1 = Me.列表框.ListCount or Me.列表框.Column(0, Me.列表框.ListIndex + 1) <> Me.列表框.Column(0) Then
            If DCount("类型名称", "类别", "大类=" & Me.列表框.Column(0) & "") > 1 Then
                strsql = Left(Me.列表框.RowSource, Len(Me.列表框.RowSource) - 15)
                strsql = strsql & " union select 大类,小类,'  └' & 类型名称 as 菜单名 from 类别 where 小类<>0 and 大类=" & Me.列表框.Column(0) & ""
                Me.列表框.RowSource = strsql & " order by 大类,小类"
            End If
        Else
            Call Form_Load
        End If
    End If
End Sub


Access软件网交流QQ群(群号:198465573)
 
 相关文章
组合框和列表框的区别  【man0  2008/2/19】
上海通用维修站信息小工具\列表框联动\列表框与主窗体联动  【xinwei  2012/5/2】
列表框多选示例  【网行者  2012/5/7】
【Access小品】玛雅预言--列表框内走马灯示例  【煮江品茶  2012/12/19】
Access列表框联动示例  【陈慧超  2013/5/8】
【Access示例】列表框数据的上移下移;Access整行数据移动...  【缪炜  2013/7/26】
【译文】如何为一个组合框或列表框添加全选按钮  【周芳  2013/8/27】
常见问答
技术分类
相关资源
文章搜索
关于作者

蟹仔

文章分类

文章存档

友情链接