السادة الزملاء
السلام عليكم ورحمة الله وبركاتة
استوقفتني شجرة الحسابات والتي صممها لنا الاخ الخبير كمال النحال في برنامج الحسابات والذي ستجدونة هنا اما بخصوص شجرة الحسابات فأعجبتني كثيراً ولاحظت طلبات الكثيرين من الاعضاء حول
طريقة عمل هذه الشجرة فأحببت أن أضع بالمنتدي شرح بسيط يوضح طريقة عمل الشجرة لتعم الفائده علي جميع الزملاء
بسم الله نبدأ
هذه هي شكل الشجرة والتي صممها الاخ كمال في برنامج الحسابات
قم بتصميم جدولك والذي يوجد به جميع بنود دليل الحسابات ولاختصار الوقت تم الاستعانة بجدول الاخ كمال النحال كما هو موضح
بعد الانتهاء من تصميم الشجرة
يتم كتابة الكود التالي في حدث تحميل النموذج
Private Sub Form_Load()
Dim dbs As Database, rst As Recordset
Dim nodX As Node
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Accounts", dbOpenDynaset)
Set nodX = TreeView2.Nodes.Add(, , "A", "Ïáíá ÇáÍÓÇÈÇÊ")
With rst
Do While Not .EOF
Set nodX = TreeView2.Nodes.Add("A" & CStr(Nz(!ParAcc)), tvwChild, "A" & CStr(!AccID), CStr(!AccID) & ":" & !ArAccDes)
nodX.EnsureVisible
.MoveNext
Loop
End With
rst.Close
Set dbs = Nothing
For Each nodX In TreeView2.Nodes
nodX.Expanded = False
nodX.Sorted = True
Next
End Subثم نقوم بعمل Sub فرعي صغير
Private Sub Finder(Skey) Dim rs As Object Me.Filter = "" Set rs = Me.Recordset.Clone rs.FindFirst "[AccID] = '" & Trim(Skey) & "'" Me.Bookmark = rs.Bookmark End Sub
ومهمتة ربط الشجرة بالعناصر والتكست بوكس الموجوده علي النموذج
وفي حدث الضعط بالماوس علي الشجرة نكتب الكود التالي
Private Sub TreeView2_NodeClick(ByVal Node As Object) Dim mykey As String With Node mykey = Right(.Key, Len(.Key) - 1) Finder (mykey) End With End Sub
وبهذه الخطوات البسيطة السهلة نكون قد انهينا تصميم شجرة الحسابات وطريقة عملها
مرفق مثال




