تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
[مثال] الشجرة المحاسبية وطريقة إنشائها بأسهل طريقة
#1
بسم الله والصلاة والسلام على من لا نبي بعده ،،
أما بعد ..
شرح لطريقة إنشاء الشجرة المحاسبية وطريقة الاستفادة من أداة التري فيو ..
نتوكلوا على الله ونبدأ ..
أولاً شيء ننشيء جدول في قاعدة البيانات ولنفترض نسميه (Account) ..
ننشيء الحقول كالتالي :

بعد ذلك نقوم بإنشاء الحسابات الرئيسية للشجرة والمتعارف عليها في المحاسبة وهي :

حيث "RootID " هو رقم الحساب وترتيبه والذي سنأخذ منه رقم للحساب الفرعي ، و "RootName" هو اسم الحساب  ، والـ "ParentID" هو رقم الحسابات منها الرئيسية وعند إنشاء الحساب الفرعي يقوم الحساب الفرعي بأخذ رقم الحساب الرئيسي منه ..والذي أعطيناه قيمة مبدئية بـ "0"

نقوم بإنشاء فورم وتم التصميم كالتالي :

أنشأت ثلاثة تكست بوكس ( تكست للاسم - تكست للحساب الرئيسي - تكسب لرقم الحساب )
* بالنسبة للحساب الختامي سنتحدث عنه لاحقاً ...

نستهل مشوارنا ونبدأ في الأكواد ...
كود :
Sub CREATENODE()
       Dim TRV As New TreeNode
       Dim DT As New DataTable
       DT.Clear()
       Dim da As New SqlClient.SqlDataAdapter("select RootID , RootName , ParentID   from Account", ConStr)
       da.Fill(DT)
       For I As Integer = 0 To DT.Rows.Count - 1
           If DT.Rows(I)(2).ToString() = "0" Then
               TRV = New TreeNode(DT.Rows(I)(0).ToString() + ": " + DT.Rows(I)(1).ToString())
               TRV.Tag = DT.Rows(I)(0).ToString()

               TreeView1.Nodes.Add(TRV)

           End If
       Next
       For Each NODE As TreeNode In TreeView1.Nodes
           CHILD(NODE)
       Next
   End Sub
أنشأت إجراء وقمت بتسميته 
افتراض متغير من التري فيو وتمت تسميته "TRV"
وبعدها جملة سيلكت عادية من جدول الحسابات حددت الحقول التالية
حلقة للداتا
جملة شرطية في حالة رقم الحساب = 0 ، أي أنه حساب رئيسي
المتغير حينشيء عقدة جديدة فيها رقم الحساب + الاسم
والتاق هو رقم الحساب
بعدها يقوم بالإضافة ،، ثم حلقة للابن لكن قبلها سنكتب الاجراء الآخر قبل

* الإجراء الثاني
كود :
Sub CHILD(ByVal NODE As TreeNode)
       Dim TRN As New TreeNode
       Dim DT As New DataTable
       DT.Clear()
       Dim da As New SqlClient.SqlDataAdapter("select RootID , RootName , ParentID  from Account", ConStr)
       da.Fill(DT)
       For I As Integer = 0 To DT.Rows.Count - 1
           Dim ParentID_ As String = NODE.Tag.ToString()
           If DT.Rows(I)(2).ToString() = ParentID_ Then
               TRN = New TreeNode(DT.Rows(I)(0).ToString() + " " + DT.Rows(I)(1).ToString())
               TRN.Tag = DT.Rows(I)(0).ToString()
               NODE.Nodes.Add(TRN)
               CHILD(TRN)
           End If
       Next
   End Sub
نفس بداية الإجراء الأول واستدعاء لنفس الجملة لكن هذه المرة سنستدعي الإبن
حلقة للداتا
التاق حياخذه من رقم الحساب
وبعدها يضيف رقم الحساب + اسم الحساب
التاق رقم الحساب
يضيف العقدة

كود :
For Each NODE As TreeNode In TreeView1.Nodes
           CHILD(NODE)
       Next
بعدها اضافة الابن للاجراء الأول الذي توقفنا عنده

في حدث الفورم لود نقوم بالآتي :
كود :
       TreeView1.Nodes.Clear()
CREATENODE()
نكمل الباقي في الدرس القادم إن شاء الله
الرد }}}
#2
موضوع متميز. لكن اين اكواد الاتصال بقاعدة البيانات
اللهم لا علم لنا إلا ما علمتنا...
وقل ربي زدني علما... Smile
الرد }}}
تم الشكر بواسطة: asemshahen5 , محمود عوض , محمود عوض
#3
شكرا جزاك الله خير
الرد }}}
تم الشكر بواسطة: asemshahen5 , asemshahen5 , ابو انس
#4
بارك الله فيك وجعله في ميزان حسناتك مشكور اخي ملهم استفدنا منك الكثير ولو تكرمت نزل بقية الشرح الخاص بشجرة الحسابات الله يوفقك
الرد }}}
تم الشكر بواسطة: ابو انس


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة سهلة للاتصال بقاعدة بيانات SQL مع اضافة ايقونات للتحكم في تدفق البيانات ggtt17121985 0 556 06-11-23, 10:16 AM
آخر رد: ggtt17121985
  [مشروع] ضغط و فك الضغط بابسط طريقة (تحتاج تطوير) سعود 0 871 31-07-22, 03:43 AM
آخر رد: سعود
Video [درس فيديو] طريقة سحب الصور والنصوص وافلاتها لادراجها في مكانها ahmadpal 2 2,547 06-04-22, 01:31 AM
آخر رد: ابو روضة
  [VB.NET] مثال طريقة جعل البرنامج يعمل مع بداية تشغيل النظام معاند الحظ 2 2,157 03-02-22, 05:20 AM
آخر رد: أبووسم
Rainbow كيفية عمل الشجرة المحاسبية بطريقة احترافية asemshahen5 38 22,817 03-01-22, 12:30 AM
آخر رد: sayyad
  [مشروع] مستكف المجلدات والملفات بابسط طريقة سعود 1 1,171 29-12-21, 08:29 AM
آخر رد: سعود
  [مثال] طريقة استخدام MPV Player وتضمينه داخل يرنامجك معاند الحظ 1 1,742 04-12-21, 04:37 AM
آخر رد: ابو روضة
  [مثال] طريقة الاضافةو التعديل و العرض و الحفظ داخل قاعدة البيانات SQL alims 5 3,329 16-09-21, 12:42 PM
آخر رد: alims
  [درس فيديو] طريقة لتعامل مع الاداء كمبوبوكس حفظ و عرض وحذف alims 0 1,017 16-09-21, 12:21 PM
آخر رد: alims
  [درس فيديو] طريقة الحفظ و التعديل و الحذف داخل الجريد فيو alims 0 1,249 15-09-21, 09:49 PM
آخر رد: alims

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم