اذهب الي المحتوي
أوفيسنا

تعديل على الشجرة TreeView


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

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

احتاج مساعتكم فى التعديل على الشجرة TreeView وذلك للعمل فى برنامج الارشيف

لدى عدد 2 جدول مرتبطين علاقة راس باطراف

الجدول الاول يسمى (name_fail) وبه الاقسام او الفولدرات الرئيسية (وهى سجلات الاب فى الشجرة)

والجدول الثانى يسمى (emp_fail) وبه الملفات الفرعية(وهى سجلات الابن فى الشجرة)

مثال على انظر الصورة المرفقة

post-140430-0-90446700-1429386192_thumb.

المطلوب

هو

فى القاعدة المرفقة اريد ان يعرض لكل اب كل الابناء المرتبطة به لانه لايعرض حاليا الا سجل ابن لكل اب

مثال على ذلك

1- الشئون المالية (هذا سجل اب )

عند النقر عليها ينبثق منها السجلات الابناء المرتبطة به مثل (الفواتير ــ الموازنة ــ الحسابات .. الخ)

هو الان يعرض لكل سجل اب واحد ابن فقط

ثانيا

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

 

شكرا لكم واتمنى منكم المساعدة وبارك الله فيكم

TreeView.rar

تم تعديل بواسطه soft.sample
رابط هذا التعليق
شارك

تفضل استاذنا ابو خليل

وكل ما اطلبه

هو

عرض الجدولين بالشجرة كما هما بالضبط بمعنى لدي جدول رئيسي واخر فرعى منه (علاقة راس باطراف)

اريد عرضهم كما هما بالضبط فى الشجرة

شكرا مقدما

 

TreeView2003.rar

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

السلام عليكم

هناك خطاء في العلاقات  فانت باني العلاقه عكس تماما (جاعل IDM في جدول Name_fail يرتبط بعلاقة رائس باطراف في جدول emp_fail )

هذا يؤدي الى ان حساب الاب لا يخرج جميع الابناء بل يخرج ابن واحد فلو عكست العلاقه سوف يؤدى الى ذكر جميع الابناء للاب الوحد

الخطاء الثاني

المفتاح الاساسي في الجدول  Name_fail  يجب ان لايكون هنا لان القيمه فيه يجب ان تتكرر لانه فيه حساب الابناء فالمفتاح الاساسي يجب ان يكون في حساب الاب

بالتوفيق

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

السلام عليكم

استاذنا ابو خليل و استاذنا s s m

اولا دعنا من المرفق بعاليه

سوف اشرح لكم واترك لكم التنفيذ

انا لدي جدولين الاول يسمي fail1 وهو الاب

والثاني يسمي emp_fail وهو الابن

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

هذا كل ما اريد عرضه في الشجرة

نفذوها باي طريقه وانسو المرفق بعاليه

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

الاستاذ العزيز ssm

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

والصورة المرفقة توضح ما اطلبه بالضبط

post-140430-0-04338500-1429545590_thumb.

tree.pdf

tree.rar

 

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

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

يمكن يكون العيب في ذلك

وهل هي تحتاج الي اضافة مراجع

شكرا اخي تعبتك معي

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

منا عارف انك تستعمل اوفيس 2013

انا عاوز الملف من غير ما تحوله 2003

الملف الاصلي

يارب تكون فهمني

بجد انا محتاجه فعلا وانتظرك اخي

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

السلام عليكم

انا استعمل اوفس 2013

بالتوفيق

 

منا عارف انك تستعمل اوفيس 2013

انا عاوز الملف من غير ما تحوله 2003

الملف الاصلي

يارب تكون فهمني

بجد انا محتاجه فعلا وانتظرك اخي

 

 

السلام عليكم 

 

أفضل طريقة:

ان يضع الاخ ssm الكود هنا ، مع إخبارنا ببقية التغييرات التي قام بها على برنامجه ،

ويقوم الاخ soft.sample بنسخ جميع هذه الاشياء الى برنامجه  :smile:

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

 

 

جعفر

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

شكرا على مرورك استاذنا جعفر

الاخ العزيز SSM

تم تحويل المرفق الى 2010 او 2013 ليعمل على اصدار احداث والحمد لله عمل واشتغل

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

انظر الصورة

ويريت استاذنا جعفر يشاركنا :yes:  :yes:  :gift2:  :yes:  :yes:

post-140430-0-13195600-1429738393_thumb.

وها هو القاعدة بعد تحويله على اصدار احداث

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

ssm+tast21.rar

تم تعديل بواسطه soft.sample
رابط هذا التعليق
شارك

السلام عليكم

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

ولا توجد فيه مشاكل

واذا تكررت المشاكل فانا الان بصدد العمل على مثال جديد  فارجو اعلامنا كي نرفعه لكم بعد اكتماله وتجريبه

بالتوفيق

ssm+t.zip

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

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

 

رحم الله والديك أخي أبومحمد على العمل الجميل ، تسلم ايدك  :smile:

 

اذا تسمحوا لي بالمشاركة  :smile:

 

ايش رايكم بهذا النموذج:

post-142414-0-93903600-1429783050_thumb.

 

 

بتعديل بسيط على الكود السابق اللي اشتغلتوا عليه ، المادة رقم 1 ، تمسح جميع افرع الشجرة ، حتى يبدأ الكود بعمل الازم:

post-142414-0-65039000-1429783061_thumb.

 

 

وهاي علشان نخلي الشجرة تُعرض من اليمين الى اليسار:

post-142414-0-58970100-1429783073_thumb.

 

 

بالاضافة الى هذه الوحدة النمطية:

Option Compare Database

Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Public Const GW_CHILD = 5
Public Const WS_EX_LAYOUTRTL = &H400000
Public Const GWL_EXSTYLE = (-20)


'
' From http://www.microsoft.com/middleeast/msdn/faq.aspx
'
'Place OnLoad of the Form

'    Dim OldLong As Long
    'For Form
'    OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
'    SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'    InvalidateRect hwnd, 0, False
    'For List
'    OldLong = GetWindowLong(List1.hwnd, GWL_EXSTYLE)
'    SetWindowLong List1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'    InvalidateRect hwnd, 0, False
    'For The StatusBar
'    OldLong = GetWindowLong(StatusBar1.hwnd, GWL_EXSTYLE)
'    SetWindowLong StatusBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'    InvalidateRect hwnd, 0, False
    'For TreeView
'    Dim nodX As Node
'    Set nodX = TreeView1.Nodes.Add(, , "R", "Root")
'    Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Child 1")
'    Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C2", "Child 2")
'    Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C3", "Child 3")
'    Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C4", "Child 4")
'    nodX.EnsureVisible
'    OldLong = GetWindowLong(TreeView1.hwnd, GWL_EXSTYLE)
'    SetWindowLong TreeView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'    InvalidateRect hwnd, 0, False
    'For ListView
'    OldLong = GetWindowLong(ListView1.hwnd, GWL_EXSTYLE)
'    SetWindowLong ListView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'    InvalidateRect hwnd, 0, False
    'For ProgressBar
'    ProgressBar1.Value = 50
'    OldLong = GetWindowLong(ProgressBar1.hwnd, GWL_EXSTYLE)
'    SetWindowLong ProgressBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'    InvalidateRect hwnd, 0, False
    'For ToolBar
'    mhwnd = GetWindow(Toolbar1.hwnd, GW_CHILD)
'    OldLong = GetWindowLong(mhwnd, GWL_EXSTYLE)
'    SetWindowLong mhwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
'    InvalidateRect hwnd, 0, False
    

جعفر

54.TreeView_RTL.accdb.zip

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

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

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



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

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

Important Information