How to speed up a treeview population in Access?
Avoid the multiple DLookUps with eachTreeView.Nodes.Add call for every row of recordset! At the very least store your DLookUp value once and apply it to treeview. This cuts down the repetitive 4 calculations down to 2 for every row.
But since DLookUp essentially is a query anyway, simply integrate a JOIN to Master object in SQL queries of OpenRecordset calls. This cuts down the repetitive 4 calculations to 0 for every row.
sql = &quot;SELECT d.[Tagname], m.[Tagname] AS [MasterTagname] &quot; _
       &amp; &quot;FROM tblData d &quot; _
       &amp; &quot;LEFT JOIN Master m &quot; _
       &amp; &quot;    ON m.ID = d.[Tagname] &quot; _
       &amp; &quot;WHERE NOT d.[Attribute] = &quot; &amp; cbxAttributeFilter01 _
       &amp; &quot;  AND NOT d.[Property] = &quot; &amp; cbxPropertyFilter01

Set oNone = CurrentDb.OpenRecordset(sql, dbOpenSnapshot)

sql = &quot;SELECT d.[Tagname], m.[Tagname] AS [MasterTagname] &quot; _
       &amp; &quot;FROM tblData d &quot; _
       &amp; &quot;LEFT JOIN Master m &quot; _
       &amp; &quot;    ON m.ID = d.[Tagname] &quot; _
       &amp; &quot;WHERE d.[Attribute] = &quot; &amp; cbxAttributeFilter01 _
       &amp; &quot;  AND d.[Property] = &quot; &amp; cbxPropertyFilter01

Set oData = CurrentDb.OpenRecordset(sql, dbOpenSnapshot) 

...

TreeView.Nodes.Add sTemp, tvwChild, !MasterTagname, !MasterTagname

...

TreeView.Nodes.Add &quot;MISC&quot;, tvwChild, !MasterTagname, !MasterTagname

Also, best practice in VBA is to never use On Error Resume Next but to handle any error that raises which in this case may be a missing or Null DLookUp result. Therefore, enclose If logic.
...

If Not IsNull(!MasterTagName)
   TreeView.Nodes.Add sTemp, tvwChild, !MasterTagname, !MasterTagname
End If

...

If Not IsNull(!MasterTagName)
   TreeView.Nodes.Add &quot;MISC&quot;, tvwChild, !MasterTagname, !MasterTagname
End If