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

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

قام بنشر (معدل)

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

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

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

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

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

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

post-140430-0-90446700-1429386192_thumb.

المطلوب

هو

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

مثال على ذلك

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

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

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

ثانيا

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

 

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

TreeView.rar

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

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

وكل ما اطلبه

هو

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

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

شكرا مقدما

 

TreeView2003.rar

قام بنشر

فعلا الجدول يوجد به  لكل اب ابن واحد

وهذا الذي يظهر في النموذج

 

يبدو حسب فهمي ان البيانات ناقصة في الجدول ؟

آمل التوضيح

  • Like 1
قام بنشر

السلام عليكم

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

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

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

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

بالتوفيق

  • Like 1
قام بنشر

السلام عليكم

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

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

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

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

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

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

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

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

قام بنشر

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

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

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

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

قام بنشر

منا عارف انك تستعمل اوفيس 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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information