• 0
asiliem

كيفية فتح نموذج وتنفيذ أمر من شجرة Treeview

سؤال

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

فقط أردت أن أضيف شيئاً بسيطاً ربما يفيد، كما أني قمت بالرد على المضوع بعد إغلاقه، لذا أضفت هذا الموضع.

طريقتي هنا تعتمد على دالة DlookUp حيث أنها تسهل من بناء الأكواد على المبرمج بحيث يكون عليه فقط إضافة بيانات الشاشة إلى الجدول وتجنب كتابة كود لكل شاشة.

وقمت أيضاً بإضافة إختيار لتنفيذ أمر إغلاق، ويمكن للمبرمج تنفيذ أي أمر يريده وفقاً لرغبته من الشجرة بهذه الطريقة، حيث تزيد من الشكل الجمالي للبرنامج.

أتمنى أن يكون المثال مفيد وتم شرحة بطريقة سهلة (الشرح بالكود)، علماً بأن المثال الأصلي من يعود للأخ الخبير ahamied

أسألكم الدعاء لي بالستر وحب الناس والمباركة في الذرية والرزق الحلال.

أخوكم في الله.

ASILIEM_TreeView_Open_Form_and_CMD_Execution.rar

تم تعديل بواسطه asiliem
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

أشكرك أخي الكريم على مجهودك الكريم ... فقد وضعت كيفية استخدام شجرة البيانات بطريقة جيدة يمكن الرجوع إليها عند الحاجة ... كما أشكر مشرفتنا الغالية على فكرتها الرائعة و هي إمكانية كتابة بعض أكواد الأحداث يدوياً

تفضل اخي الكريم

الملف بعد التعديل

عند اختيار اسم احمد يفتح النموذج الخاص به

وعند اختيار اسم محمد يفتح النموذج الخاص به

طريقة الـ Treeview تحتاج الى جدول خاص على شكل شجره

راجع الجدول وانظر كيف تم وضع الأسماء بتنسيق وترتيب معين

يمكن اضافة عنصر التحكم Treeview الى النموذج ولكن يحتاج الى وضع الكود اللازم له في حدث عند تحميل النموذج وهذه غير متوفره سوى في اكسيس 97 فقد كان في السابق تقوم بعمل اداة Treeview ويتم انتاج الكود اللازم معها مباشرة بدون ان تتعب نفسك اما في اكسيس 2000 او 2002 او 2003 فلا يوجد مثل هذا الكود ويجب عليك كتابته يدويا في حدث عند التحميل .

Private Sub TreeView2_NodeClick(ByVal Node As Object)
lblItemCode.Caption = ""
If Node.Key <> "Root" Then
lblItemCode.Caption = Mid(Node.Key, InStr(Node.Key, "_") + 1)

If Not IsNull(DLookup("[Form_Name]", "Items", "[ItemCode] = lblItemCode.Caption")) _
And DLookup("[Form_Name]", "Items", "[ItemCode] = lblItemCode.Caption") <> 0 Then

'لفتح أي شاشة فقط قم بإضافتها إلى الجدول ليتم فتحها من الشجرة
DoCmd.OpenForm DLookup("[Form_Name]", "Items", "[ItemCode] = lblItemCode.Caption")

'لتنفيذ أي أمر قم بإضافته إلى الجدول ليتم تنفيذه من الشجرة
'مع ملاحظة رقم 103 الموجود في الشرط التالي، وهو رقم العنصر الموجود في الجدول
'لذلك عليك بتكرار الشرط التالي مع تغيير الرقم لتنفيذ أي أمر أخر بعد إضافته للجدول
ElseIf IsNull(DLookup("[Form_Name]", "Items", "[ItemCode] = lblItemCode.Caption")) _
And DLookup("[ItemNUM]", "Items", "[ItemCode] = lblItemCode.Caption") = 103 Then

Dim intResponse As Integer
Dim strPrompt As String

strPrompt = "هل تريد إغلاق النظام بالفعل؟"

intResponse = MsgBox(strPrompt, vbMsgBoxRtlReading + vbYesNo, "إغلاق")

If intResponse = vbYes Then
DoCmd.Quit
Else
Cancel = False
End If
End If

End If
lblPath.Caption = Node.FullPath
End Sub

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أشكرك على إضافتك وجزى الله الجميع الخير لما فيه الصالح لنا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هل لا يوجد متفاعلين أو مستفيدين؟

أين الردود؟

نرجو منكم ترك تعليقكم وتجاربكم، ربما يكون هناك ما يمكن إضافته.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مثال مفيد وجميل جزاك الله خيرا ، لا ينقصه سوى قائمة مختصرة لإضافة ابن جديد من نفس الشاشة

على كل حال مجهود رائع بارك الله فيك وبجهودك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
مثال مفيد وجميل جزاك الله خيرا ، لا ينقصه سوى قائمة مختصرة لإضافة ابن جديد من نفس الشاشة

على كل حال مجهود رائع بارك الله فيك وبجهودك

أشكرك على ردك الجميل وإليك المرفق بعد التعديل حتى تتمكن من التعديل على الشجرة وإضافة أو حذف نماذج أو أوامر.

وأرجو من الأعضاء من رآى أنه يمكنه أن يقوم بالتعديل فعليه به، ومن له أي ملحوظة أخرى فليرفعها حتى تعم الفائدة.

نسألكم الدعاء ...

ASILIEM_TV_OPEN_FORM_EXECUTE_CMD.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بجد جميل جدا الموضوع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .