تصميم النموذج الشجري لدليل الحسابات بالاكسيس

 

في البدايه سنحتاج الي تصميم جدول لتكويد الحسابات

من خلال الضغط علي القائمه Create و اختيار منها Table Design
نستعرض حقوله و اهم خصائص هذه الحقول

Fied Size Date Type Caption Field Name
15 Text كود الحساب AccID
255 Text اسم الحساب ArAccDes
15 Text كود الحساب الاب ParAcc
255 Text اسم الحساب الاب ArParDes
—- Yes/NO هل هو حساب رئيسى IsPrimary
15 Text مستوى الحساب AccLevel
25 Text التوجية المحاسبى Accdir
15 Text طبيعة الرصيد Panat
15 Text كود المجموعة الفرعية كود المجموعة الفرعية

 

لاحظ ان حقل كود الحساب و الذي افترضنا له اسم AccID تم اعطاءه خاصيه متفتاح اساسي Primary Key

نقوم بحفظ الجدول و تعطيه اسم افتراضي accounts

الان نقوم باستخدام معالج النماذج في انشاء نموذج للجدول التكويد

الان نقوم باستخدام معالج النماذج في انشاء نموذج للجدول التكويد

من خلال الضغط علي القائمه Create و اختيار منها Form Wizard

و بعد الانتهاء من بناء النموذج ندخل الي النموذج في وضع التصميم لاضافه النموذج الشجري

مكتبه المحاسب العربي | تصميم النموذج الشجري لدليل الحسابات بالاكسيس

من خلال القائمه Design اضغط علي هذا الزر و اختر ActiveX Control

ومن خلال هذا المعالج ابحث عن Microsoft TreeView Control

سيقوم المعالج باضافه النموذج الشجري للنموذج

الان بدا في اضافه الاكواد الازمه لاستعراض شجره الحسابات

Private Sub Form_Load()    On Error Resume Next     Dim dbs As dao.Database, rst As dao.Recordset      Dim nodX As Node    Set dbs = CurrentDb    Set rst = dbs.OpenRecordset("Accounts", dbOpenDynaset)    Set nodX = TreeView2.Nodes.Add(, , "A", "Accounts")    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    On Error Resume Next    For Each nodX In TreeView2.Nodes     nodX.Expanded = False     nodX.Sorted = True    Next      End Sub  

في هذا الكود قمنا باستدعاء المكتبه البرمجيه dao

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

قمنا نانشاء متغير من النوع Database و اضفنا له عنصر التحكم dao

Dim dbs As dao.Database   
 
 rst As dao.Recordse  

اضفنا هذا السطر للدوران في صفوف قاعده البيانات و التحكم بها

 

Set rst = dbs.OpenRecordset(“Accounts”, dbOpenDynaset) Set nodX = TreeView2.Nodes.Add(, , “A”, “Accounts”)

من خلال هذا السطر قمنا بفتح قاعده البيانات التي افترضنها كمتغير و قمنا بتعبئه محتوياتها في النموذج الشجري TreeView

تم اعطاء راس النموذج الشجري اسم Accounts يمكنك تغير الاسم كيف تشاء

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  

من خلال هذا الكود تبدا المكتبه البرمجيه dao في الدوران علي قاعده البيانات علي شكل حلقه تكراريه من النوع Do While و تحديد كل عنصر من عناصر هذه القائمه و تحديد مستوي هذا العنصر تبدا بالدوران بدايه من اول صف في قاعده البيانات

ليظهر في النموذج الشجري في المستوي المناسب مضاف اليه كود الحساب و الوصف الخاص بالحساب ( اسم الحاب ) ثم يدور الكود علي العنصر التالي بالامر MoveNext و هكذا و يتكرر هذا الامر باستخدام الامر Loop حتي تنتقل الي اخر صف و بعد الانتهاء يتم الخروج من هذه الحلقه التكراريه End With

لاستدعاء اسم الحساب من جدول الحسابات نستخدم الداله DLookup حيث تقوم هذه الداله بالبحث في جدول accounts في عمود ArAccDes الخاص باسم الحساب بشرط كود الحساب AccID=ParAcc

Private Sub ParAcc_AfterUpdate()    On Error Resume Next  ArParDes = DLookup("ArAccDes", "accounts", "AccID=ParAcc")  End Sub  

 

 

Private Sub TreeView2_NodeClick(ByVal Node As Object)  On Error Resume Next    Dim mykey As String      With Node       mykey = Right(.Key, Len(.Key) - 1)       Finder (mykey)      End With  End Sub  

 

 

Private Sub Finder(Skey)  On Error Resume Next  Dim rs As Object   Me.Filter = ""   Set rs = Me.Recordset.Clone   rs.FindFirst "[AccID] = '" & Trim(Skey) & "'"   Me.Bookmark = rs.Bookmark  End Sub  

لتحميل ملف العمل مصمم بالاكسيس مفتوح الكود لسهوله التعديل

رابط التحميل

مكتبه المحاسب العربي | تصميم النموذج الشجري لدليل الحسابات بالاكسيس

بعض المشاكل التي قد تواجهك

يجب مراعاه التكويد بشكل صحيح حيث ان التكويد بشكل غير صحيح سيؤدي الي الخلل البرمجي في النموذج الشجري فعلي سبيل المثال يتم ادراج حساب اساسي يندرج تحته حساب فرعي يندرج تحت الحساب الفرعي كود الحاساب فان الكود الاب لكود الحساب هو الحساب الفرعي و ليس الكود الاساسي بينما كود الحساب الاب للكود الفرعي هو كود الحساب الاساسي فاذا حدث خلل في التكويد عن هذا النظام سيحدث مشاكل برمجيه

اي يجب بناء دليل الحسابات بشكل صحيح كامل حتي نتمكن من عرض نظام شجره الحسابات

يمكنك ايضا مشاهده اعداد دليل الحسابات

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

شاهده أيضا داله التفقيط و تحويل الارقام الي حروف

يمكنك أيضا مشاهده تحويل pdf الي ورد او اكسيل بدون برامج




2 تعليقات

  1. مكتبه المحاسب العربي | تصميم النموذج الشجري لدليل الحسابات بالاكسيس

    جزاكم الله خيرا ممكن طريقة انشاء وبناء برنامج حسابات على الاكسيس خطوة خطوة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *