loOleTree=This.Parent.Treeview loOleTree.imagelist = Thisform.ImagesList.Object loOleTree.Nodes.Clear If !Empty(lsBR) Select Cate2Class.Category_ID,Category_Name,Class_Name,Class2BRand.Class_ID; From Categories,Cate2Class,Classes,Class2BRand,Brands; WHERE Alltrim(Cate2Class.Category_ID)==Alltrim(Categories.Category_ID) And Alltrim(Cate2Class.Class_ID)==Alltrim(Classes.Class_ID); AND Alltrim(Class2Brand.Class_ID)==Alltrim(Cate2Class.Class_ID) And Alltrim(Class2Brand.Brand_ID)==Alltrim(Brands.Brand_ID) And Alltrim(Brand_Name)==Alltrim(lsBR) ; ORDER BY Cate2Class.Category_ID, Cate2Class.Class_ID; INTO Cursor lcrTMP If _Tally!=0 Select lcrTMP lsCT="" Scan All IF ALLTRIM(Category_ID)!=ALLTRIM(lsCT) loNode=loOleTree.Nodes.Add(,2, Category_ID, Category_Name,"CloseBook","OpenBook") ENDIF lsCT=Alltrim(Category_ID) loOleTree.Expand(loNode) loOleTree.Nodes.Add(loNode,4,Class_ID,Class_Name,"CloseBook","OpenBook") **Error From Here, Error Code 1429:OLE IDispatch exception code from Nodes: Index out of Bound **And if I add a suspend before last code, I can see the loNode Value is .F. And type is logical, That means the loNode didn't get the Index from last Nodes.add method Endscan Use Endif Endif