خطوات إنشاء الماكرو في تذييل النموذج (1)

(بواسطة : ســــــارة | بتاريخ : 10 مارس 2003 )

سنتعرف في هذا الدرس بإذن الله على خطوات إنشاء الماكرو الذي يتحكم في عمل الأيقونات التي قمنا بتصميمها على النموذج في الدرس السابق..
فلنبدأ على بركة الله :)


 
~~خطوات إنشاء الماكرو~~

1- اذهب إلى خاصية بعد التحديث في أداة التحكم مجموعة الخيار التي قمنا بتسميتها "الحروف" وانقر على الأيقونة التي تظهر بجانبها، فتظهر لك نافذة "اختيار المنشئ " اختر منها "منشئ الماكرو" كما بالشكل

 ثم انقر على موافق.


2- احفظ الماكرو الذي ترغب بإنشائه باسم  “Search” في نافذة حفظ باسم التي ستظهر لك.


3- بعد ذلك قم بإظهار شريط أدوات "تصميم الماكرو" من عرض ثم أشرطة وأدوات ثم قم بالنقر على اسم هذا الشريط فيظهر لك كما بالشكل.


 

4- قم بالنقر على الأداتين التي تم تحديدها باللون الأحمر في الشكل السابق:

الأداة الأولى: تسمى بـ "أسماء وحدات الماكرو" والنقر عليها يؤدي إلى إظهار عامود في جدول الماكرو يسمى "اسم الماكرو" ويستخدم هذا العامود لتعريف أكثر من ماكرو داخل مجموعة وحدات الماكرو. كما أن النقر على هذه الأداة مرة أخرى يؤدي إلى إخفاء هذا العامود من جدول الماكرو.

أما الأداة الثانية: فتسمى بـ "شروط" والنقر عليها يؤدي إلى ظهور عامود في جدول الماكرو يسمى "شرط" ويستفاد من هذا العامود في تعيين شروط الإجراء. والنقر على هذه الأداة مرة أخرى يؤدي إلى إخفاء هذا العامود من جدول الماكرو.


5- في هذا الماكرو نحتاج لتعيين ماكرو واحد داخل مجموعة وحدات الماكرو التي قمنا بتسميتها مسبقا بالاسم "Search" ، قم بكتابة اسم هذا الماكرو وليكن "Buttons" داخل عامود "اسم الماكرو".


ملاحظة: الاسم Buttons اسم ذو معنى حيث يشير إلى أن هذا الماكرو يتحكم في عمل الأزرار (Buttons) التي قمنا بإدراجها داخل النموذج. والفائدة من هذه الأيقونات هو اختيار الحرف الأول الذي سوف تعرض به الأسماء. وبذلك فإنه سوف يتم كتابة شروط الإجراء التي ستحدث عند الضغط على كل زر في العامود "شرط".


6- في خانة الشرط يتم كتابة الشروط على الصورة التالية:
[الحروف] = قيمة الخيار
أي أن أداة التحكم "مجموعة الخيار" التي قمنا بإدراجها في النموذج وتسميتها بالاسم "حروف" سوف تكون القيمة المختارة داخلها  عبارة عن أحد القيم التي وضعت تلقائيا لجميع أزرار التبديل الموضوعة داخلها.

 7- أما بالنسبة للشرط الإجرائي فهو الإجراء ApplyFilter
ويستخدم الإجراء ApplyFilter لتطبيق "استعلام الأسماء" الذي تم إنشاؤه مسبقا على النموذج "نموذج البحث بالحرف الأول" لتقييد السجلات في الاستعلام الخاص بهذا النموذج و فرزها..
يتضمن الإجراء ApplyFilter الوسائط التالية.:

 

وسيطة الإجراء الوصف
اسم عامل التصفية اسم عامل تصفية أو استعلام لتقييد سجلات الجدول أو النموذج أو التقرير أو فرزها.
ولن نحتاج في هذا النموذج لتحديد أسماء عوامل تصفية.
شرط Where عبارة SQL WHERE صالحة (بدون كلمة WHERE) أو تعبير يقيّد سجلات الجدول أو النموذج أو التقرير.
ملاحظة في تعبير وسيطة الشرط Where، يتضمن الجانب الأيسر من التعبير اسم حقل من الاستعلام أو الجدول الأساسي للنموذج أو الجدول. ويتضمن الجانب الأيمن من التعبير المعايير التي تريد تطبيقها على هذا الحقل لتقييد السجلات أو فرزها.
على سبيل المثال، يمكن أن تكون المعايير اسم عنصر تحكم على نموذج آخر يحتوي على القيمة تريد أن تكون متطابقة مع السجلات في النموذج الأول. يجب أن يكون اسم عنصر التحكم مؤهلاً تماماً،
ففي هذا النموذج سوف يكون الشرط على الصورة:
[الاسم] Like "[أول حرف من الاسم]*"

1- يجب إحاطة أسماء الحقول بعلامات اقتباس مزدوجة والسلاسل الحرفية بعلامات اقتباس مفردة.
2- الشرط السابق يفيد أن القيمة الموجودة في حقل "الاسم" من "استعلام الأسماء" سوف تبدأ بالحرف الموجود داخل الأقواس المربعة ثم تحتوي على مجموعة حروف لا نهتم بها كما أو كيفا ولذا وضعنا الرمز * للدلالة على وجود سلسلة حرفية بعد الاسم الأول.
ملاحظة:
الحد الأقصى لطول وسيطة "شرط Where" هو 255 حرفاً. إذا كنت تريد إدخال عبارة SQL WHERE أطول، استخدم أسلوب ApplyFilter للكائن DoCmd الموجود في Microsoft Visual Basic حيث يمكنك إدخال جمل SQL WHERE حتى 32.768 حرفاً في Visual Basic
.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8- أما بالنسبة للعامود الأخير "تعليق" فهو لا يدخل ضمن الإجراء ولكنه يستخدم لوصف ما يفعله كل إجراء وهذه التعليقات اختيارية.


9- قم بكتابة الشرط والإجراء والتعليق لجميع الأزرار التي استخدمناها للحروف الهجائية من أ إلى ي كما هو موضح بالشكل:

 
 

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

مكونات هذا الدرس:

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

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

فلنبدأ على بركة الله:)

 

~~تصميم زر التبديل "الكل"~~

يتبقى لنا زر التبديل "الكل" الذي يقوم بعرض جميع السجلات الموجودة داخل "استعلام الأسماء" ولذلك سوف نكتب في حقل "الشرط" الشرط الإجرائي التالي:
ShowAllRecords
ويؤدي إلى إظهار جميع الحقول الموجودة داخل الاستعلام المستخدم في الماكرو "استعلام الأسماء" . ولا يحتوي هذا الإجراء على أية وسائط.


~~شروط أخرى لا بد منها~~

يلاحظ أنه قد توجد أحرف لا يبدأ بها أي اسم داخل سجلات (Records) داخل قاعدة البيانات كما أنه قد يوجد أكثر من اسم داخل السجلات تبدأ بنفس الحرف.
لابد من أجل ذلك كتابة شروط تؤدي إلى عرض السجلات بشكل صحيح في حال اخترنا الحرف الذي يبدأ به الاسم داخل هذه السجلات أو إظهار رسالة تدل على عدم وجود سجلات تحتوي على أسماء تبدأ بالحرف المختار في حال تحققنا من عدم وجودها فعلا.

تستطيع كتابة الشروط كما هي موجودة في الشكل التالي وسوف أعلق عليها بعد أن تتأمل طريقة كتابة الشروط جيدا:




التعليق على كيفية كتابة الشروط في الشكل السابق:

أولا:

[CurrentRecord] > 0


إذا وجدت قيمة داخل السجل الذي نطبق عليه شرط الاختيار فإنه سوف يتحقق الإجراء المعين مسبقا لكل زر تبديل (في الخطوة رقم 9) . ثم بعد ذلك سوف ينتقل التركيز إلى أداة التحكم cmd التي سوف يتم شرحها لاحقا.



ثانيا:

 StopMacro


يمكنك استخدام الإجراء StopMacro لإيقاف الماكرو قيد التشغيل حالياً وذلك نتيجة تحقق الشرط السابق 11.1وليس لهذا الشرط أية وسائط إجرائية.

:ثالثا

[CurrentRecord] = 0


أما إذا لم توجد قيمة داخل السجل الذي نطبق عليه شرط الاختيار فإنه سوف تعرض رسالة عن طريق الإجراء MsgBox
يتضمن الإجراء MsgBox الوسائط التالية:

وسيطة الإجراء وصف
الرسالة ونكتب فيه النص الذي سيظهر في مربع الرسالة:
"عفوا، لا يوجد اسم يبدأ بهذا الحرف"
مع ملاحظة أنه يمكنك كتابة 255 حرفاً كحد أقصى.
صوت تنبيه يحدد ما إذا كان الكمبيوتر يصدر صوت تنبيه عند عرض الرسالة. انقر فوق نعم (لإصدار صوت التنبيه) أو لا (لعدم إصدار صوت التنبيه). الوضع هو الافتراضي نعم.
النوع نوع مربع الرسالة. لكل نوع رمز مختلف. انقر فوق بلا أو حيوي أو تحذير؟ أو تحذير! أو معلومات
مع ملاحظة أن الإعداد الافتراضي هو بلا.
العنوان

النص المعروض في شريط العنوان في مربع الرسالة. نستطيع أن نكتب في مثالنا هذا :
"لا يوجد سجلات" للدلالة على أن هذه النافذة تعرض رسالة تفيد عدم وجود سجلات تبدأ بالحرف المختار.
في حالة ترك هذه الوسيطة خالية، يتم عرض "Microsoft Access".

انظر الشكل:

 

رابعا:

ShowAllRecords

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

خامسا:

SetValue

يقوم هذا الإجراء بتعيين قيمة افتراضية لحقلي الاسم ورقم الهاتف الثابت في النموذج، وله وسطي إجراء:
 

وسيطة الإجراء وصف

العنصر

وفيه ندخل اسم الحقل أو عنصر التحكم أو الخاصية التي تريد تعيين قيمتها.
ففي مثالنا هذا سوف نجعل ندخل القيمة:
[الحروف]
وهو العنصر الذي سوف نحدد منه القيمة الافتراضية للحقول

تعبير

التعبير الذي يستخدمه Access لتعيين القيمة لهذا العنصر.
سوف نجعل قيمة [الحروف] في مثالنا هذا القيمة:
29
والتي تشير إلى زر التبديل "الكل" الذي يتم عن طريقه عرض جميع السجلات كما في الصورة:

 


وبهذا نكون قد انتهينا من تصميم الماكرو تماما ويتبقى لنا تغيير الخاصية "بعد التحديث" في أداة التحكم "مجموعة الخيار" والتي قمنا بتسميتها "الحروف" إلى Search.Buttons

في الدرس المقبل بإذن الله سنرى كيف سنصمم الجزء الخاص بعرض إجمالي الأسماء المعروضة..

تحياتي لكم ولاتنسونا من صالح دعائكم

  • Currently 75/5 Stars.
  • 1 2 3 4 5
25 تصويتات / 2393 مشاهدة
نشرت فى 17 أكتوبر 2005 بواسطة mara

ساحة النقاش

عدد زيارات الموقع

946,012