banner image

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

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

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

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

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

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

 

لاحظ ان حقل كود الحساب و الذي افترضنا له اسم 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 NextArParDes = 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 WithEnd Sub

 

 

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

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

رابط التحميل

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

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

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

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

قد يعجبك أيضا

برنامج اداره الصيدليه يدعم الفاتوره الاكترونيه و متوفق مع متطلبات هيئه الزكاه تحميل مباشر من هنا

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

تحميل برنامج محاسبي لوجه الله كامل مجاني تحميل مباشر من هنا

تصميم النموذج الشجري لدليل الحسابات بالاكسيس تصميم النموذج الشجري لدليل الحسابات بالاكسيس Reviewed by Acc-Mohamed ElSayed on نوفمبر 11, 2019 Rating: 5

ليست هناك تعليقات:

يتم التشغيل بواسطة Blogger.