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

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

قام بنشر

اسف جدا

استاذنا جعفر

استاذنا ابو محمد

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

وانا احدثكم من الموبيل الان

سوف اشاهد المرفقين وارد لكم خبر

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

قام بنشر

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

اسف جدا على التاخير فى الرد على حضرتكم حيث كنت مشغول جدا

اولا: اشكركم جزيلا على المرفقين وخصوصا مرفق استاذنا جعفر فهو مرفق جميل جدا من حيث تغيير اتجاه الشجرة

 

ثانيا اريد  تعديل اخر بسيط هو (انظر الصورة)

post-140430-0-02622000-1430153824_thumb.

اريد عند النقر على اى سجل بالشجرة ان يظهر هذا السجل فى مربع نص داخل النموذج

بمعنى عند النقر على السجل الاب اللى هو مثلا اسمه (الشئون الادارية) يظهر فى مربع نص فى نفس النموذج يسمى المجلد الرئيسي

وعند النقر على السجل اللابن هو مثلا (الاجازات الاعتيادية _ من الشئون الادارية) يظهر فى مربع نص فى نفس النموذج يسمى الملف الفرعى

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

يارب اكون وفقت فى الشرح

وهو موضح بالصورة اكثر وبالمرفق

بارك الله فيكم فعلا تعبتكم جدا معي

 

 

 

 

 

54.TreeView_RTL.rar

قام بنشر

وعليكم السلام  :smile:

 

ايش رايك اعلمك كيف تصيد بدل ما اعطيك سمكة  :smile:

 

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

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

On Error Resume Next
Debug.Print "node.Child; " & Node.Child
Debug.Print "node.Children; " & Node.Children
Debug.Print "node.Expanded; " & Node.Expanded
Debug.Print "node.FirstSibling; " & Node.FirstSibling
Debug.Print "node.FullPath; " & Node.FullPath
Debug.Print "node.Index; " & Node.Index
Debug.Print "node.Key; " & Node.Key
Debug.Print "node.LastSibling; " & Node.LastSibling
Debug.Print "node.Next; " & Node.Next
Debug.Print "node.Parent; " & Node.Parent
Debug.Print "node.Previous; " & Node.Previous
Debug.Print "node.Root; " & Node.Root
Debug.Print "node.Selected; " & Node.Selected
Debug.Print "node.Sorted; " & Node.Sorted
Debug.Print "node.Tag; " & Node.Tag
Debug.Print "node.Text; " & Node.Text
Debug.Print "----------------------"

وتأكد بانك فتحت نافذة النتائج (النافذة في اسفل VBA):

post-142414-0-08149200-1430155367_thumb.

 

 

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

وإحنا في الخدمة بعد محاولاتك  :smile:

 

 

جعفر

  • Like 1
قام بنشر

السلام عليكم

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

 

ولكننى لا افهم ماذا تقصد فى الحقيقة

ممكن شرح اكثر او مرفق

بارك الله فيك

قام بنشر

تفضل  :smile:

 

انا وضعت الكود التالي في كود النموذج:


Private Sub TreeView1_NodeClick(ByVal Node As Object)
On Error GoTo err_TreeView1_NodeClick

'lblItemCode.Caption = ""
'If Node.Key <> "Root" Then
'   lblItemCode.Caption = Mid(Node.Key, InStr(Node.Key, "_") + 1)
'End If
'lblPath.Caption = Node.FullPath

'    Dim colon As Integer
    
'    colon = InStr(Node.Text, ":")
'    Me.txt3 = Mid(Node.Text, 1, colon - 1)
'    Me.Txt4 = Mid(Node.Text, colon + 1)
    
'    colon = InStr(Node.Child, ":")
'    If colon = 0 Then
'        Me.txt1 = Val(Mid(Node.Child, 1, colon - 1)) + Node.Children
'        Me.txt1 = ""
'    Else
'        Me.txt1 = Val(Mid(Node.Child, 1, colon - 1)) + Node.Children
'    End If

On Error Resume Next
Debug.Print "node.Child; " & Node.Child
Debug.Print "node.Children; " & Node.Children
Debug.Print "node.Expanded; " & Node.Expanded
Debug.Print "node.FirstSibling; " & Node.FirstSibling
Debug.Print "node.FullPath; " & Node.FullPath
Debug.Print "node.Index; " & Node.Index
Debug.Print "node.Key; " & Node.Key
Debug.Print "node.LastSibling; " & Node.LastSibling
Debug.Print "node.Next; " & Node.Next
Debug.Print "node.Parent; " & Node.Parent
Debug.Print "node.Previous; " & Node.Previous
Debug.Print "node.Root; " & Node.Root
Debug.Print "node.Selected; " & Node.Selected
Debug.Print "node.Sorted; " & Node.Sorted
Debug.Print "node.Tag; " & Node.Tag
Debug.Print "node.Text; " & Node.Text
Debug.Print "----------------------"

Exit Sub
err_TreeView1_NodeClick:

    If Err.Number = 91 Then
        colon = 0
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If
    
End Sub

رجاء مشاهدة هذا المقطع قبل البدء في قراءة التالي:

 

54..gif

.

1. النافذة تحت الكود كانت فاضية ،

2. نقرنا في النموذج على "الحفظ العام" ،

3. رجعنا للكود ولاحظنا النتائج النقر هي:

node.Child; الصادر
node.Children; 2
node.Expanded; True
node.FirstSibling; الحفظ العام
node.FullPath; جميع الاقسام-الحفظ العام
node.Index; 2
node.Key; 
node.LastSibling; الشئون الهندسية
node.Next; الشئون الادارية
node.Parent; جميع الاقسام
node.Root; جميع الاقسام
node.Selected; True
node.Sorted; False
node.Tag; Level1
node.Text; الحفظ العام
----------------------

4. سؤالك:

اقتباس

 

 

اريد عند النقر على اى سجل بالشجرة ان يظهر هذا السجل فى مربع نص داخل النموذج

 

فنجد ان جواب سؤالك هو في الكود:

node.FirstSibling; الحفظ العام

او في

node.FullPath; جميع الاقسام-الحفظ العام

او في

node.Text; الحفظ العام

5. ولما نقرنا على "الصادر" ،

6. كانت النتيجة:

node.Child; 4
node.Children; 1
node.Expanded; False
node.FirstSibling; الصادر
node.FullPath; جميع الاقسام-الحفظ العام-الصادر
node.Index; 3
node.Key; 
node.LastSibling; الوارد
node.Next; الوارد
node.Parent; الحفظ العام
node.Root; جميع الاقسام
node.Selected; True
node.Sorted; False
node.Tag; Level2
node.Text; الصادر
----------------------

فنجد ان القيمة في:

node.FirstSibling; الصادر

او في 

node.FullPath; جميع الاقسام-الحفظ العام-الصادر

او في 

node.Text; الصادر

وعلى هذا المنوال ، تستطيع ان تتوصل الى ما تريد من هذه المعلومات  :smile:

 

ومثل ما اخبرتك في البداية ، هذا الكود من احد مشاركاتي السابقة ، لذا ، فانك تستطيع ان تستخدم الكود التالي (طبعا بعمل تغييرات بسيطة على المسميات) لإستخراج اي قيمة من الكود اعلاه:

'    Dim colon As Integer
    
'    colon = InStr(Node.Text, ":")
'    Me.txt3 = Mid(Node.Text, 1, colon - 1)
'    Me.Txt4 = Mid(Node.Text, colon + 1)
    
'    colon = InStr(Node.Child, ":")
'    If colon = 0 Then
'        Me.txt1 = Val(Mid(Node.Child, 1, colon - 1)) + Node.Children
'        Me.txt1 = ""
'    Else
'        Me.txt1 = Val(Mid(Node.Child, 1, colon - 1)) + Node.Children
'    End If

جعفر

54.1.TreeView_RTL.mdb.zip

قام بنشر

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

فارفع يدي لهذا الموضوع ان يثبت وخاصة موضوع اتجاه التري فيو من اليمين لليسار !

كما ان لي وجهة نظر في الموضوع وهي : مسألة تعبئة التري فيو والتعامل معها فكل مبرمج وطريقته الخاصة بل خوارزميته وفكرته لتعبئتها والتعامل معها وتختلف من شخص لاخر !

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

 

خالص تحياتي

  • Like 1
قام بنشر

حياك الله أخوي رمهان  :smile:

 

في الواقع كنت اعمل برنامج اجمع فيه جميع الكائنات في النموذج والتي لا يمكن تغيير اتجاهها لليمين الى اليسار ، مثل Tree View (اعلاه) و ListBox وقد اتطرق للكائنات الباقية  :smile:

الكود هو ما ارفقته في هذا الموضوع بتغيير بسيط لكل نوع  :smile:

 

جعفر

قام بنشر

شكرا على مرورك الطيب استاذنا رمهان

استاذنا العزيز جعفر بارك الله فيك وفى عملك

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

 

كل ما شرحته بالمشاركة عاليه شاهدته 

 

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

 

فرجاء ممكن حضرتك بس تتطبق على المرفق حتى تتضح لى الصورة اكثر

شكرا جزيلا

قام بنشر

أخي الفاضل

 

استعمل السطرين اللي في منتصف الكود ، وخبرني النتيجة:

'    End If

    Me.txtname = Node.Parent
    Me.txtSon = Node.FirstSibling
    
On Error Resume Next
Debug.Print "node.Child; " & Node.Child

جعفر

قام بنشر

الاخ جعفر

ماشاء الله مبدع ان تغير الاتجاة الى اليمين بارك الله فيك

ولكن نريد التعديل على المثال وشرح لما تم اقصد باخر سوال وهي النقر على الاب او الابن تظهر بياناته

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

ماشاء الله عليك استاذ جعفر

تسلم ايدك 

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

وبارك الله فيك

بجد بجد متشكر جدااااا

تعمل تمام وتم التعديل عليها لتناسبنى

لو بس فى اى حاجه وقفت معايا سوف ابلغك  :yes:  :yes:

:fff:   :fff:  :fff:  :fff:  :fff:

تم تعديل بواسطه soft.sample

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