الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شرح طريقة عمل شجرة الحسابات

رائج
بدأه محمد فؤاد تركي في 26 يوليو 2008 · 27 رد · 46,011 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة الزملاء

السلام عليكم ورحمة الله وبركاتة

استوقفتني شجرة الحسابات والتي صممها لنا الاخ الخبير كمال النحال في برنامج الحسابات والذي ستجدونة هنا اما بخصوص شجرة الحسابات فأعجبتني كثيراً ولاحظت طلبات الكثيرين من الاعضاء حول

طريقة عمل هذه الشجرة فأحببت أن أضع بالمنتدي شرح بسيط يوضح طريقة عمل الشجرة لتعم الفائده علي جميع الزملاء

بسم الله نبدأ

هذه هي شكل الشجرة والتي صممها الاخ كمال في برنامج الحسابات

post-46243-1217096000_thumb.jpg

قم بتصميم جدولك والذي يوجد به جميع بنود دليل الحسابات ولاختصار الوقت تم الاستعانة بجدول الاخ كمال النحال كما هو موضح

post-46243-1217096019_thumb.jpg

post-46243-1217096137_thumb.jpg

post-46243-1217096169_thumb.jpg

post-46243-1217096187_thumb.jpg

post-46243-1217096200_thumb.jpg

post-46243-1217096220_thumb.jpg

post-46243-1217096257_thumb.jpg

post-46243-1217096280_thumb.jpg

بعد الانتهاء من تصميم الشجرة

يتم كتابة الكود التالي في حدث تحميل النموذج

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

وبهذه الخطوات البسيطة السهلة نكون قد انهينا تصميم شجرة الحسابات وطريقة عملها

مرفق مثال

Tree_view.zip

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 26 يوليو 2008 في 22:02

4

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

الف شكرررررررررررررررر على هذا الشرح الجميل وفقك الله

#3

الله يعطيك الف عافية ................والله ماقصرت ................اشكرك من اعماق قلبي على اخلاقك العالية .............واستجابتك السريعة.....................

وهذه هدية شكر تقدير واحترام لك

أرجوا المعذرة لعدم تمكني من المشاركة بشكل مستمر لانشغالي..........

.

#4

مشكوووووووور اخووووي على الشرح الجميل والاستجابة السريعه ..

عندي سؤال :

هل بالامكان تظليل فرع معين إذا كانت قيمته اقل من 50

مثلا ::

إذا كان عندنا برنامج لمؤشر الأداء هل بإمكاننا معرفة القسم الضعيف نسبيا وعند الضغط على اشارة الموجب

تظهر لنا اسماء الموظفين اللي بالقسم و ويظهر لنا لون الموظف الضعيف بلون احمر

وشكراااااااا على الشرح

تم تعديل هذه المشاركة بواسطة Golden_Eyes في 26 يوليو 2008 في 23:27

#5

أشكرك أخي الكريم عل هذا الشرح الراااااااااااااااااااااااااااااائع

#6

بسم الله الرحمن الرحيم

بارك الله فيك اخي الكريم

هذا ما كنا ننتظره

#7

بارك الله فيك وجزاك الله خير

الله يعطيك العافيه

اتق الله حيث ماكنت

#8

أخي الغالي / محمد فؤاد

تحية طيبة وبعد ،،،،،،،،،،،،،

ما قصرت وبارك الله فيك على مجهودك المتواصل وطريقة الشرح المبسط وأنت لها بالفعل طريقة سهلة وباستطاعة كل عضو استيعابها ولو حاولت أن أشرح طريقة عمل الشجرة ما كنت شرحتها كما انت شرحتها والله أستاذ إسم على مسمى.

تقبل أجمل تحياتي

[يمين]

إذا كـان تـرك الـدين يعــنــي تقــدمــاً

فـيا نفــس مـوتــي قبــل أن تتقـدمــي

[/يمين]

#9

ما شاء الله تسلم اخوي محمد فؤاد على الشرح المميز

ان شاء الله في ميزان حسناتك

#10

اخي الفاضل محمد فؤاد تركي انت مش طبيعي

انت رائع يا شيخ

شرح بعقد

رووووووح

الله يوفقك

اقتباس
[وسط]اللهم ارحمنا إذا اشتدت السكرات، وفاضت العبرات، وتعطلت القوى و القدرات.

اللهم ارحمنا إذا يئس منا الطبيب ،وبكى علينا الحبيب ، واشتد البكاء و النحيب.

اللهم ارحمنا إذا حملنا على الأعناق ، و التفت الساق بالساق، إلى ربك يومئذ المساق.

اللهم ارحمنا إذا وارينا التراب، وغلقت الأبواب، وانفض الأهل و الأحباب

[/وسط]

545050692.gif

#11

B) السلام عليكم ورحمة الله وبركاتة

شــــرح كـــافـــي وافــــي ...... الله يعطيك الصحة والعافية . :clapping:

:ty:

#12

شكرا لك اخي الكريم

[Quraan]www.t99c.com[/Quraan]

#13

الأستاذ الرائع محمد

جزاك الله خيراً على الشرح الوافى للموضوع فهو من أهم المواضيع التى تهم المهتمين بالمجال المحاسبى

#14

من زمان وأنا أبحث عن هذه الطريقة

وبجهد شخصي عرفتها لكن ليس كما عرضتها أخي الكريم

شكراً لاهتمامك

وفقك الله

#15

شكرا على هذه الطريقة و لكن هل ممكن إضافة حقل المبلغ لإسم الحساب و شكرا

#16

اقسم ان كلمه الشكر قليله

جزاك الله كل خير وزادك الله علما ونورا

بارك الله فيك

#17

هل نحتاج لجميع الحقول في الجدول

ولكم جزيل الشكر

#19

الاستاذ الفاضل محمد فؤاد تركي ...

شكرا جزيلا على هذا الشرح الوافي ولكن لدي سؤال ارجو ان تجيبني عليه وهو :

في المثال الذي ارفقته تتم اضافة الاجزاء الرئيسية وتفرعاتها يدويا الى الجدول والبرنامج يقوم فقط بعرض هذه التفرعات .. ماذا لو رغبت ان تتم اضافة تفرعات جديدة مباشرة من الشجرة ؟؟؟ وكيف ستكون عملية الخزن في الجدول ؟

ولك مني خالص الاحترام ولتقدير

#20

مشرفنا الغالي محمد فؤاد تركي .. انا بانتظار ردك منذ ايام ..

#21

مشكور أخي العزيز

الموضوع أبحث عنه منذ فترةٍ طويلة

لكن هل يمكننا إنشاء دالة لمعرفة هل هنالك أبناء للحساب أم لا، أي دالة منطقية ترجع إحدى القيمتين TRUE or FALSE لمعرفة أن للحساب أبناء أم لا.

و شكراً

اسمي الحقيقي هو السيد

رغيد السقا

#22

مجهود اكثر من رائع .

#23

شرح جميل اخ محمد فؤاد

لكن هل لي بشرح الاكواد فهي بحاجه الى شرح وافي

او هل هناك رابط لذلك

تحياتي

post-157080-12622582839684.jpg

#25

الله يجزيك الخير

في عندي سؤال

اذا انا ضفت زر امر

عندما احدد حساب رئيسي من الشجرة واضغط زر امر (اضافة)يظهر نموذج

لاضافة حساب فرعي

مواضيع مشابهة