I've used the built-in Treeview functionality in my database, but on a new form I'm having an issue where the Treeview is not responding to code to bold certain nodes. My other treeviews (running different but similar code) don't have a an issue displaying bolded nodes. Here's the subroutine I use to generate the treeview:
Code:
Public Sub loadTVArticlesGroup_Ext(tv As TreeView, ArticleGroup As Long)
tv.Nodes.Clear
Dim nodx As MSComctlLib.Node
Dim nody As MSComctlLib.Node
Dim ArticleSourceSQL As String
ArticleSourceSQL = " SELECT REF_ArticleSource.ArticleSourceID, REF_ArticleSource.ArticleSourceName " _
& " FROM REF_ArticleSource INNER JOIN MAIN_Articles ON REF_ArticleSource.ArticleSourceID = MAIN_Articles.ArticleSource " _
& " WHERE MAIN_Articles.ArticleGroup = " & ArticleGroup _
& " GROUP BY REF_ArticleSource.ArticleSourceID, REF_ArticleSource.ArticleSourceName " _
& " ORDER BY REF_ArticleSource.ArticleSourceName;"
Dim rsArticleSource As DAO.Recordset
Set rsArticleSource = CurrentDb.OpenRecordset(ArticleSourceSQL, dbOpenDynaset, dbReadOnly)
Dim ArticleItemSQL As String
ArticleItemSQL = "SELECT MAIN_Articles.ArticleID, REF_ArticleSource.ArticleSourceID, REF_ArticleSource.ArticleSourceName, MAIN_Articles.Title, MAIN_Articles.CreateDate " _
& " FROM REF_ArticleSource INNER JOIN MAIN_Articles ON REF_ArticleSource.ArticleSourceID = MAIN_Articles.ArticleSource " _
& " WHERE MAIN_Articles.ArticleGroup = " & ArticleGroup _
& " ORDER BY REF_ArticleSource.ArticleSourceName, MAIN_Articles.CreateDate, MAIN_Articles.Title;"
Dim rsArticleItem As DAO.Recordset
Set rsArticleItem = CurrentDb.OpenRecordset(ArticleItemSQL, dbOpenDynaset, dbReadOnly)
If Not rsArticleSource.EOF Then
rsArticleSource.MoveFirst
Do While Not rsArticleSource.EOF
Set nodx = tv.Nodes.Add(, , "sID" & rsArticleSource!ArticleSourceID, rsArticleSource!ArticleSourceName)
nodx.Bold = True 'NOT WORKING?
nodx.ForeColor = vbBlue
nodx.Expanded = True
rsArticleItem.FindFirst "ArticleSourceID = " & rsArticleSource!ArticleSourceID
Do While Not rsArticleItem.NoMatch
Set nody = tv.Nodes.Add(nodx, tvwChild, "aID" & rsArticleItem!ArticleID, rsArticleItem!Title & " (" & rsArticleItem!CreateDate & ")")
nody.Expanded = True
rsArticleItem.FindNext "ArticleSourceID = " & rsArticleSource!ArticleSourceID
Loop
rsArticleSource.MoveNext
Loop
'bring focus to top of treeview
tv.Nodes(1).Selected = True
tv.Nodes(1).Selected = False
End If
'cleanup
If Not rsArticleSource Is Nothing Then
rsArticleSource.Close
Set rsArticleSource = Nothing
End If
If Not rsArticleItem Is Nothing Then
rsArticleItem.Close
Set rsArticleItem = Nothing
End If
End Sub
Here's my treeview settings for reference: