تصميم شريط القوائم في الاكسيس Ribbon

يشتكى الكثير من صعوبه عمل القوائم الخاصه به فى الاكسس 2007 و 2010 و الاصدارات الاحدث نظرا لانهم اعتمدوا على شئ جديد مختلف عما سبق يعتمد عمل القوائم فى تلك الاصدارات على XML

و لتنفيذ فكره تصميم شريط القوائم في الاكسيس نتبع الخطوات التاليه

تصميم شريط القوائم في الاكسيس Ribbon

الاول يجب عمل جدول و نسميه USysRibbons يراعى اسم الجدول بنفس الشكل ونفس الحروف و يجب ان يكون بهذا الاسم لانه من جداول النظام و ينظر اليه البرنامج عند البدايه و قبل ان نحفظ هذا الجدول يجب علينا اظهار جداول النظام نفسها بالضغط بزر الماوس الايمن علي All Tables ثم اختيار Navigation Options

كما بالصوره

 

مكتبه المحاسب العربي | تصميم شريط القوائم في الاكسيس Ribbon
مكتبه المحاسب العربي | تصميم شريط القوائم في الاكسيس Ribbon

تصميم الجدول

Autonumber ID
Text RibbonName
Memo RibbonXml

و تكون به تلك الحقول بنفس الاسماء

الاول هو مجرد ترقيم تلقائ لعدد القوائم التى سوف تعملها

الثانى هو اسم القائمه

الثالث و هو من نوع ميمو لتخزين كود xml بداخله

عملنا الجدول خلاص

نبتدى نكتب كود xml فى اى مكان حتى لو النوت باد

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

كود xml مشابه لاكواد html

أول سطر يجب كتابته هو

 

يجب طبعا غلقه

 

و بعده نكتب داخل نفس الكود و تحت السطر الاول هذا الكود

 

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

اما اذا كان الاختيار false فسوف يعرض القوائم الموجوده مسبقا بالاضافه للقوائم المعموله منك

بعد كده نبتدى عمل التاب tabs

و بداخلها اكثر من تاب

 

و نلاحظ وجود id & label داخل التاب

id و يجب ان يكون وحيدا unique و لا يتكرر

label و نضع فيها الاسم المراد ظهوره على التاب

ملاحطة التاب المقصود به اسم القائمة مثل Home – insert-Create

طيب نجرب كده و نشوف

و علشان النتيجه تظهر

هانعمل حاجه صغيره

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

الكود و نضعه فى الحقل ribbonxml

الاول نكتب الكود و نضعه فى الحقل ribbonxml و فى اسم الريبون نضع اى اسم معبر لنا

بعد ذلك نغلق القاعدة ثم نعيد فتحها

و نفتح النموذج فى وضع التصميم

و عند خصائص النموذج فى تاب other او اخرى

سنجد خانه بها ribbon name و نختار منها اسم الريبون الذى صنعناه

طيب هذا التاب هو الذى سنضع بداخله الـ buttons

تقسيم الشريط

طيب ما احنا ممكن نريد ان نقسم الازرار الى مجموعات

بمعنى اخر مجموعه خاصه بالنماذج و مجموعه خاصه بالتقارير و هكذا

هذا يأتى عن طريق تقسيم التاب الى مجموعات groups

و لكى نفعل ذلك نضع الكود التالى بعد سطر <tab>

 

و كما سبق id يجب ان يكون متفرد (اى لا نسمى جروب اخر بنفس الاسم)

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

و طبعا نكرر الكود لعمل اكثر من Group

ده الشكل المبدئي للكود

 

 ملاحظ أن:

  1. اي ID بيكون unique
  2. لما بتفتح Tag  لازم تقفله

كده تقريبا ناقصنا ايه بقى

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

الكود الخاص بأضافه الـ button سيكون كالتالى

و نضعه بعد تاج الـ group

 

كما هى العاده

id سيكون اسم لا يتكرر

label هو الكلام الذى سيكون على الزر

و لكن أيضا تلاحظون هنا شئ مختلف اننا لم نقفل تاج الbutton بالشكل التالى </button>

و انما وضعنا / فى نهايه التاج

هنا صنعنا button

و طبعا ممكن نكرره مثل ما نريد

نستكمل موضوع الـbutton

لكى يعطينا الbutton تأثير هناط طريقتان لفعل ذلك

الاولى  عن طريق ماكرو Macro

او عن طريق كتابة كود VBA داخل Module

الطريقه الاولى عن طريق الماكرو

بكل بساطه نعمل ماكرو و نسميه myBut1 يفعل اى شئ و ليكن message box تعرض رساله hello this is button 1 click

خلصنا الماكرو و حفظناه

نذهب بعد ذلك الى كود الـ xml الخاص بنا

و الى وسم الـ button فى اخره نكتب

onAction=”اسم الماكرو”

ليصبح كالتالى

 

هناك شئ زياده فى الكود و هو “size = “large و هذا لاختيار حجم الbutton و جعلناه هنا large

طيب لو نريد الطريقه الاخره و هى عن طريق كتابة الكود

يبقى الاول هانعمل new module و نسميه myrib مثلا

و بداخله نكتب الداله التى سوف تنفذ عندما نضغط على الـ button

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

ستكون الداله كالتالى

public fuction pressMe()  docmd.openform "myform1"  end function  

بعد ذلك نذهب الى تاج الbutton (و ليكن button اخر غير الموجود سابقا)

و نكتب فى اخره

 

نطبق بقى و نشوف بس طبعا لا تنسى ان تعمل فورم باسم myform1 لكى يتم فتحه عندما نضغط على الـbutton

, و بكده يصبح لدينا الكود التالى من اول ما بدأنا

 

اضافه صوره داخل شريط الريبون

لوضع الصور على الزرار :

فى البدايه نصنع مجلد جديد و نسميه images و نضعه مع بداخل المجلد المحتوى لقاعدة البيانات الخاصه بنا

و نضع به الصور الخاصه بنا

بعد ذلك نذهب لكود الريبون و فى اول سطر خاااالص , فاكرينه نضيف المقطع التالى “loadImage=”OnLoadImage

و هو بكل بساطه يخبر البرنامج ان الصور لكى تظهر يجب ان تنفذ الداله OnLoadImage

يبقى شكل السطر الاول

 

يبقى كده ناقص ايه

تمام كد الداله OnLoadImage

و طبعا سوف نكتبها فى الموديول الذى سبق و صنعناه

تلك الداله تكون كالتالى

(Public Sub OnLoadImage(strImage As String, ByRef Image      Dim strPath As String      ' construct a path      strPath = CurrentProject.Path & "\images\" & strImage      ' make sure the file exists      (Debug.Assert (Len(strPath) > 0      ' return the image      (Set Image = LoadPicture(strPath  End Sub  

و هى أيضا بكل بساطه تخبر البرنامج ان الصوره المطلوبه موجوده مع المشروع فى مجلد اسمه images

كده يبقى ناقص اخر شئ

و هو اختيار الصوره ووضعها

يبقى نروح للسطر الخاص بالـ button

و نضيف التالى ليصبح السطر كاملا كالتالى

 

نجرب كده و نشوف النتيجه

الف مبروك الريبون الخاص بك

و طبعا مرفق المثال التطبيقى للتحميل

مكتبه المحاسب العربي | تصميم شريط القوائم في الاكسيس Ribbon
 



اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *