Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

树控件如何实现对表或查询的选择?

堂主  发表于:2012-08-05 22:12:43  
复制

老师们好!

 

小弟最近在学习使用access编一个日记本,建立了一个表-工作日记:

 
根据这个表我建了一个查询,基本也是表中所有的字段。
 
最后创建了工作日记和工作日记子窗体,如图:
窗体加载的时候,事件代码如下:
 
Private Sub Form_Load()
    Call TreeviewLoad                      '加载Treeview
End Sub
 
Private Sub TreeviewLoad()
  
    Set TreeView.ImageList = Image.Object
   
    Me.TreeView.Nodes.Clear
   
    Dim CONN As ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strSql As String
    Dim nodIndex As Node
    
     Set nodIndex = TreeView.Nodes.Add(, , "日记", "日记", "K1", "K2")
     nodIndex.Expanded = True
    
    strSql = "select distinct 工作日记.年 from 工作日记"
   
    Set CONN = CurrentProject.Connection
    CONN.CursorLocation = adUseClient
   
    rs.Open strSql, CONN, adOpenKeyset, adLockOptimistic, adCmdTableDirect
    Do Until rs.EOF = True
        Set nodIndex = TreeView.Nodes.Add("日记", tvwChild, "年" & rs.Fields("年"), rs.Fields("年"), "K1", "K2")
        rs.MoveNext
    Loop
    rs.Close
    
    strSql = "select distinct 工作日记.年,工作日记.月 from 工作日记"
    rs.Open strSql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
    Do Until rs.EOF = True
        Set nodIndex = TreeView.Nodes.Add("年" & rs.Fields("年"), tvwChild, "年" & rs.Fields("年") & rs.Fields("月"), rs.Fields("月"), "K1", "K2")
        rs.MoveNext
    Loop
    rs.Close
    
    strSql = "select distinct 工作日记.年,工作日记.月,工作日记.日 from 工作日记"
    rs.Open strSql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
    Do Until rs.EOF = True
    Set nodIndex = TreeView.Nodes.Add("年" & rs.Fields("年") & rs.Fields("月"), tvwChild, "年" & rs.Fields("年") & rs.Fields("月") & rs.Fields("日"), rs.Fields("日"), "K1", "K2")
        rs.MoveNext
    Loop
    rs.Close
   
   
    Set rs = Nothing
End Sub

Private Sub Treeview_NodeClick(ByVal Node As Object)  '树形控件选定后的操作
    
     
     If Node.Key Like "日*" Then
     strSql = "[年]&[月]&[日] = '" & Node.Parent & Node & Node.Child & "'"
     End If
    
    
    
    Node.Expanded = True
    
     Me.工作日记子窗体.Form.FilterOn = True
     Me.工作日记子窗体.Form.Filter = strSql
     
 
End Sub
 
这些代码我是从一个例子中学来的,还不很理解,请各位老师帮忙看一下,为什么点击树的最后一节“日”的时候,并不能将相关的日记内容显示出来?
 
搞了好几天了,请各位帮忙,非常感谢!
 
 

 

 

Top
总记录:0篇  页次:0/0 9 1 :