Proit hozzáférés építési szakaszok a fa - treeview és a VBA
Tegyük fel, hogy van egy tábla az egyetemi tanszékek (tblDepartment) formátumban:
intID - strDepartmentName - intParentID
ahol
intID - egység azonosítója
strDepartmentName - egység neve,
intParentID - azonosítója a szülői egység.
A gyökér elem hivatkozunk, mint a „szülő” magának.
Szintén a kényelem, a kivitelező a szülő tábla a területen, akkor megadhatja helyettesítés, utalva ugyanannál az asztalnál:

kérelmére helyettesíthető a szöveg:
SELECT tblDepartment. strDepartmentName AS P drazde L ix,
tblDepartment_1. strDepartmentName AS dite P o l s,
AZ tblDepartment LEFTJOIN tblDepartment AS tblDepartment_1
ON tblDepartment. intParentID = tblDepartment_1. intID
ORDERBY tblDepartment. strDepartmentName;
Ezt követően, a szülő oszlop, tudjuk választani nem azonosító és nevében kapcsolt vállalkozások (de ID továbbra is tárolni fogja a oszlop).
Ennek eredményeként képesek leszünk, hogy töltse ki a táblázatot az alábbiak szerint:

Most megépíteni a fa. Ehhez hozzon létre egy üres űrlapot tervezés nézetben és válassza a „ActiveX elemek”:

A listában jelölje ki az elemet „Microsoft TreeView vezérlő (6,0)”

A kiválasztott terméket adunk a formában a megfelelő helyen a megfelelő méretet:

Ezután lépjen a Visual Basic kódot mód és adjuk hozzá a következő kódot:
Opció összehasonlítása Database
Dolgozni egy csomópont, ahol a szülők nem null
Opció összehasonlítása Database
Private Sub Form_Load ()
homályos strRoot
strRoot = ""
Private Sub addNode (ByVal ParentID As String)
Állítsa rsCommon = Új ADODB.Recordset
Ha ParentID = „” Akkor
rsCommon.Open "SELECT EIA, Ðîäèòåëü, Èìÿ FROM Req DP WHERE IsNull (Ðîäèòåëü)" "ORDER BY Èìÿ" CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Do While Not rsCommon.EOF
TreeViewDep.Nodes.Add. Str (rsCommon ( "EIA")) "$ KEY", rsCommon ( "Èìÿ")
TreeViewDep.Nodes.Item (Str (rsCommon ( "EIA")) "$ KEY"). Expanded = True
AddNode (Str (rsCommon ( "EIA")))
rsCommon.MoveNext
hurok
rsCommon.Close
Állítsa rsCommon = Semmi
más
rsCommon.Open „SELECT EIA, Ðîäèòåëü, Èìÿ FROM Req DP Amikor a KHT <> Ðîäèòåëü ÉS Ðîäèòåëü = " ParentID "ORDER BY Èìÿ" CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Do While Not rsCommon.EOF
TreeViewDep.Nodes.Add ParentID "$ KEY", tvwChild, Str (rsCommon ( "EIA")) "$ KEY", rsCommon ( "Èìÿ")
TreeViewDep.Nodes.Item (Str (rsCommon ( "EIA")) "$ KEY"). Expanded = True
AddNode (Str (rsCommon ( "EIA")))
rsCommon.MoveNext
hurok
rsCommon.Close
Állítsa rsCommon = Semmi
End If
Helló Doros ki kell tölteni részei a fa. mert több ezer elemek, az építőiparban a fa tegyen konkrét időben. Most, betöltve egy ága kattintva az elemet. Kérdés: hogyan lehet közel a „+” ikonra elem. És ez kényelmetlen - nem kattint, akkor nem tudom, hogy ez a gyerek elem helyzetben, vagy nem
Még nem dolgoztam ezen ellenőrzés. Alternatívaként megjelenik minden eleme zárójelben a gyermekek száma? Vagy feltölteni egy elemre kattint legalább egyik gyerek?
Köszönöm a tanácsot. Most a probléma, és eldönti, rakodási gyermek elemek. De ez nem túl kényelmes, figyelembe véve a rekurzív természete számozása elemek amit használtam. Szerettem volna egy kicsit könnyebb magad.