اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تعديل كود ل TreeView ياخ بياناته من عدة جداول


Force

الردود الموصى بها

السلام عليكم

هذا مثال لشجرة الحسابات اريد تعديلة ليتناسب مع ما اريده

اريد فقط تعديل الكود ليستوعب اكثر من ثلاث مستويات ويستقي بياناته من الجداول فقط

عندي مثلا خمس جداول لها علاقة راس باطراف لكل منها اريدها ان تظهر في الشجره كما في العلاقات

لا اريد ان تستقي الشجرة البيانات من استعلام او غيره اريدها من الجداول مباشر وياليت اذا كان هناك تعديل للكود يعرض اكثر من عشرين جدول بينها علاقة باطراف

وهذا رابط المثال مبسط لما اريدههنا

http://www.officena.net/ib/index.php?showtopic=9782

رابط هذا التعليق
شارك

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

تبعية كل حقل فرعي للحقل الرئيسي المرتبط به

على العموم هذا مثال يستوعب عدد غير محدود من المستويات من تصميم الأستاذ ابو هادي

Tree.rar

رابط هذا التعليق
شارك

السلام عليكم

شكرا لك اخي الكريم ولكن سبق ان بحثت في المنتدى ووجدت مثال ابو هادي وغيره ولكنها

ليست هو المطلوب

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

ارجو ان اوصلت المعلومة جيده وهذا هو الكود

Dim DB As DAO.Database, RS As DAO.Recordset
    Dim strOrderKey As String, strProductKey As String
    Me!TreeView.Nodes.Clear
    Set DB = CurrentDb
    
    Set RS = DB.OpenRecordset("Table1", dbOpenForwardOnly)
    Do Until RS.EOF
        Me!TreeView.Nodes.Add , , "r" & RS![AutoNumber], RS![CustomerName], "category0", "category1"
        RS.MoveNext
    Loop
    RS.Close
    
' Fill Level 2.
    Set RS = DB.OpenRecordset("Table2", dbOpenForwardOnly)
    Do Until RS.EOF
        strOrderKey = StrConv("o" & RS![AutoNumber], vbLowerCase)
        Me!TreeView.Nodes.Add "r" & RS![CodeNumber].Value, tvwChild, strOrderKey, _
            RS![CustomerName], "category0", "category1"
        RS.MoveNext
    Loop
    RS.Close
    ' Fill Level 3.
    Set RS = DB.OpenRecordset("Table3", dbOpenForwardOnly)
    Do Until RS.EOF
        strOrderKey = StrConv("o" & RS![AutoNumber], vbLowerCase)
        strProductKey = StrConv(strOrderKey & "o" & RS![CodeNumber], vbLowerCase)
       Me!TreeView.Nodes.Add strOrderKey, tvwChild, strProductKey, _
           RS![CustomerName], "category0", "category1"
        RS.MoveNext
      
    Loop

    Set RS = Nothing
    Set DB = Nothing

لذا امل التكرم منك او من احد الاخوان الخبراء بوضع مستوى رابع وخامس وسادس الى اخره المهم ان يقرأ من الجداول مباشره وليس عن طريق استعلام

وانشاء الله ما تقصرون

رابط هذا التعليق
شارك

  • 2 weeks later...

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information