老师们好!
小弟最近在学习使用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
这些代码我是从一个例子中学来的,还不很理解,请各位老师帮忙看一下,为什么点击树的最后一节“日”的时候,并不能将相关的日记内容显示出来?
搞了好几天了,请各位帮忙,非常感谢!