أبريل 2020 - مدرسة الويب web school

الصفحات

الاجراءات فى VBA واستخدامها مع برنامج الاكسس

الاجراء

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

خطوات انشاء اجراء معين


  • نكتب الكلمة المفتاحية sub ثم نكتب اسم الاجراء وليكن مثلا test
  • بمجرد الضغط على مفتاح enter من لوحة المفاتيح يتم انشاء قوسي الفتح والإغلاق للاجراء ويتم وضع الكلمة المحجوزة end sub
  • نقوم بكتابة الأكواد بين sub وend sub




يتم انشاء الاجراء بكتابة الكلمة المحجوزة sub ويتم انهاء الاجراء بالكلمة المحجوزة end sub


الاجراءات فى VBA واستخدامها مع برنامج الاكسس



يتم كتابة الكود بين كلمة sub وend sub ونلاحظ هنا أن الناتج سيتم اخراجة عن طريق رسالة بكتابة الأمر msgbox
الاجراءات فى VBA واستخدامها مع برنامج الاكسس

يتم انشاء الاجراء بكتابة الكلمة المحجوزة sub ويتم انهاء الاجراء بالكلمة المحجوزة end sub


الاجراءات فى VBA واستخدامها مع برنامج الاكسس

لتنفيذ الاجراء على نموذج معين نقوم بانشاء نموذج في وضع التصميم design view ثم ننشئ زر أمر ومن event نختار On click ثم نضغط على الثلاث نقاط ...ونضغط على code builder



الاجراءات فى VBA واستخدامها مع برنامج الاكسس
ونكتب اسم الاجراء وهو main وبذلك يتم استدعاء الاجراء main وتنفيذه بمجرد الضغط على زر الأمر ناتج العملية




الاجراءات فى VBA واستخدامها مع برنامج الاكسس
 نلاحظ انه بمجرد الضغط على زر الأمر ناتج العملية تظهر الرسالة بها ناتج العملية التي تم استدعائها من الاجراء main





الاجراءات فى VBA واستخدامها مع برنامج الاكسس





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



الاجراءات فى VBA واستخدامها مع برنامج الاكسس



يمكن استخدام parameter او الوسائط في الإجراءات وذلك بكتابة المتغيرات بين اقواس الاجراء كما هو موضح بالمثال .


الاجراءات فى VBA واستخدامها مع برنامج الاكسس


في حالة استخدام parameter يلزم عند استدعاء الاجراء استخدام الأمر call قبل اسم الاجراء

 call+اسم الاجراء
نلاحظ هنا اننا قمنا بتمرير الرقم 16 إلى الاجراء وحيث أن
X=x+1
X=16+1


X=17


الاجراءات فى VBA واستخدامها مع برنامج الاكسس




نلاحظ ظهور رسالة تظهر الناتج عند الضغط على زر أمر ناتج العملية



الاجراءات فى VBA واستخدامها مع برنامج الاكسس


عند الرغبة في ان يقوم المستخدم بإدخال المدخلات ونضغط على زر الامر "ناتج العملية" بحيث يقوم الزر باظهار ناتج عملية جمع الرقمين الذى يقوم المستخدم بادخالهم في مربع نص ثالث

نقوم بتغيير اسم مربع النص الأول إلىnum1  ومربع النص الثاني إلى num2 ومربع النص الثالث إلى  num3



الاجراءات فى VBA واستخدامها مع برنامج الاكسس


نقوم بتعريف المتغيرات x1 as double – x2 as double- x3 as textbox حيث أن x3  هو مربع النص الذى سيظهر فيه الناتج

x3=x1+x2


الاجراءات فى VBA واستخدامها مع برنامج الاكسس


ونقف على زر الأمر "ناتج العملية"ومن الأحداث نضغط على on click ومنها نضغط على الثلاث نقاط لنفتح code builder

الاجراءات فى VBA واستخدامها مع برنامج الاكسس


نقوم باستدعاء الاجراء call main كما هو موضح بالمثال

Call main (me.num1,me.num2,me.num3)


الاجراءات فى VBA واستخدامها مع برنامج الاكسس



نلاحظ انه عند ادخال قيم العدد الأول وقيم العدد الثاني ثم عند الضغط على زر الأمر "ناتج العملية" ستظهر نتيجة العملية في مربع النص كما هو موضح

الاجراءات فى VBA واستخدامها مع برنامج الاكسس



المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access الجزء الثالث

المتغير من النوع Date

يحمل هذا النوع من المتغيرات تاريخ ويحجز فى الذاكرة مساحة 8 بايت 


المتغير من النوع date وهو يقوم بتحزين تاريخ معين وعند الرغبة في إعطائه قيمة نصية يعطي رسالة خطأ

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


يتم وضع التاريخ المراد إعطاؤه للمتغير من النوع date بين قوسين كما هو موضح بالمثال

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


عند إعطاء المتغير من النوع date قيمة رقمية يقوم باعطاء التاريخ المماثل لهذه القيمة الرقمية حيث يبدأ التاريخ من 31/12/1899 وهو ما يعادل رقم 1

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



عند إعطاء المتغير x  قيم تاريخ اكبر من عدد أيام الشهر يعطى رسالة خطأ كما هو في المثال حيث لا يوجد شهر عدد أيامه 32 يوم ولا يوجد شهر له القيمة 19

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


المتغير من النوع variant

هو متغير عام يستطيع ان يقبل جميع انواع البيانات سواء رقمية أو نصية ويحجز فى الذاكرة مساحة مساحة 22 بايت

المتغير من النوع variant نلاحظ ان القيمة الافتراضية له تساوى قيمة خالية كما هو موضح بالمثال
المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access

.
المتغير من النوع variant يستطيع ان يحمل قيم رقمية كما هو موضح بالمثال
المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



المتغير من النوع variant يستطيع أن يحمل قيم نصية كما هو موضح بالمثال

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


يمكن إعطاء قيم للمتغير بدون الإعلان عنه ولكنه ليس مستحبا حيث أن في حالة حدوث خطأ في كتابة اسم المتغير يعتبره VBA متغير جديد

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


يمكن اجبار  vba على استخدام الإعلان عن المتغيرات وذلك بالضغط على toolsàoptionàeditor ثم نقوم بوضع علامة صح أمام require variable declaration

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


نلاحظ انه تلقائيا عند فتح موديل جديد يتم وضع الجملة option explicit للإعلان الاجباري عن المتغيرات

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access




الاعلان عن الثوابت const

للإعلان عن ثابت معين نقوم باستخدام الرمز const مثل const x=100 حيث x  هو اسم الثابت ولابد من اسناد القيمة للثابت ولا يمكن تغيير هذه القيمة فيما بعد
ويمكن تعريف الثابت من خلال تعريف الثابت ونوعه مثل const age as integer=50 حيث age هو اسم الثابت وinteger نوع الثابت وهو عدد صحيح وقيمة الثابت وهو 50

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


عند الرغبة في تغيير قيمة الثابت x نلاحظ ظهور رسالة خطأ حيث لا يمكن تغيير قيمة الثابت وانما تكون له قيمة ثابتة.

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


 المتغيرات العامة ..

هي المتغيرات التي يمكنك استخدامها من أي مكان داخل البرنامج أو التطبيق وتبقي في ذاكرة الحاسب طوال فترة عمل البرنامج فإذا انتهي البرنامج تحذف من الذاكرة ولذلك يجب أن يعلن عن المتغير العام من خلال الوحدة النمطية لكي تتعرف عليه جميع 
الإجراءات الموجودة في جميع الوحدات النمطية بالبرنامج أو التطبيق يستخدم الأمر Public للإعلان عن المتغيرات العامة في المثال التالي يتم الإعلان عن متغير عام لكي تستخدمه جميع الإجراءات في جميع الوحدات النمطية من نوع Integer واسمه x



يمكن الإعلان العام عن المتغيرات وذلك في القسم الأعلى من الموديول وبذلك يكون تعريف المتغير على مستوى الموديول كله وليس على مستوى الاجراء فقط.
المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access

المتغير من النوع x بعد الاعلان عنه في العام نلاحظ انه يمكن رؤيته داخل الموديول كما هو موضح حيث يحتفظ بقيمته داخل الاجراء main كما هو موضح

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



أمر الإعلان Public : 

يستخدم لتعريف متغير عام General Variables ولكنه يكون علي مستوى المشروع ككل ويمكن الوصول إليه من جميع الوحدات الموجودة في المشروع وعمرة من عمر البرنامج ككل ويظل في الذاكرة حتى ينتهي البرنامج .
عند الإعلان عن المتغير باستخدام public نلاحظ ان المتغير يحتفظ بقيمته داخل المشروع كله كما هو موضح.


المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access
 .

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access الجزء الثاني

تكلمنا فى الدرس السابق عن المتغيرات الرقمية من نوع Integer-long-double
وفى هذا الدرس سنقوم بشرح المتغيرات النصية string والمتغير الرقمي من نوع byte  والمتغير المنطقي boolean

المتغير النصي string

وهو متغير نصى يقوم بحفظ القيم النصية من النوع string
ويحجز له في الذاكرة مساحة 4 بايت

وللاعلان عن المتغير النصي من النوع string 
dim x as string
حيث X هو اسم المتغير النصي
string هو نوعه حيث ان المتغير النصي يقوم بحمل قيم نصية 



لفتح محرر VBA نضغط على التبويب create ومنه نضغط على Module كما في الصورة

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access

المتغير النصى string  يمكن اعطاؤه أي قيمة سواء نصية او رقمية ونلاحظ هنا انه عند إعطاء القيمة الرقمية للمتغير النصي من النوع string   يقبلها كما في المثال .

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access

وبالطبع يمكن اسناد قيمة نصية للمتغير النصي من النوع string ويلاحظ وضع القيم النصيبة بين علامتي اقتباس مزوج كما في المثال

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



يمكن انشاء متغير نصي يسند إليه قيم اكثر من متغير مثل متغير fullname والذى تم إسناد اليه قيم المتغير fname وقيم المتغير lname ويلاحظ أن رمز & وينطبق ambersand يعمل على جمع المتغيرات النصية ويلاحظ أننا قمنا بوضع  علامتي اقتباس مزودج بينهما مسافة حتى لا يلتصق الاسم الأول مع اسم الأب

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



ويلاحظ هنا انه يمكن تعريف متغير بدون الإعلان عنه باللفظ dim حيث تم تعريف متغير اسمه salary واعطاؤه القيمة 5000  بدون الإعلان عن هذا المتغير كما هو موضح ولم يتم حدوث اى خطأ في المخرجات

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


وللإجبار على الإعلان عن المتغير قبل استخدامه نقوم بكتابة الأمر option explicit حيث يلزم الإعلان عن المتغير ولا يمكن استخدامه الأن قبل الإعلان لذا نلاحظ ظهور رسالة خطأ حيث لم يتم تعريف المتغير فيلزم أولا الإعلان عن المتغير قبل استخدامه

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


نقوم هنا بالإعلان عن المتغير salary   باستخدام الامر dim لتفادي حدوث أخطاء كما هو موضح بالمثال.


المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



المتغير الرقمي من النوع byte

ويحمل قيم تخزينية من 0 حتى 255 ويحجز له فى الذاكرة مساحة 1بايت والقيمة الافتراضية له هى false


نقوم هنا بالإعلان عن المتغير من نوع بايت byte وهو يناسب المتغيرات التي تحمل قيم رقمية تتراوح بين 0 حتى 255 مثل عمر الانسان مثلا



المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


نلاحظ حدوث خطأ Overflow عند إعطاء قيم اكبر للمتغير من نوع byte أكبر من 255 كما هو ملاحظ

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



المتغير المنطقى من النوع Boolean

متغير منطقى يحمل قيمة واحدة إما true أو false ويحجز له فى الذاكرة مساحة 2 بايت
والقيمة الافتراضية له هى false



المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


نلاحظ انه عند إعطاء المتغير المنطقي من النوع boolean اى قيمة رقمية عدا الصفر فإن قيمة المتغير تكون ture كما هو موضح

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


عند إعطاء القيمة صفر للمتغير المنطقي من النوع Boolean نلاحظ انه يعطى false

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access



نلاحظ انه عند اسناد اكثر من قيمة للمتغير فإنه يحتفظ بالقيمة الأخيرة التي تم اسنادها له فنلاحظ انه أولا تم اسناد القيمة 0 للمتغير ثم بعد ذلك تم اسناد القيمة 1 للمتغير فنلاحظ ان المتغير قيمته هيtrue  حيث احتفظ باخر قيمة تم اسنادها له

المتغيرات variables فى VBA واستخدامه مع برنامج ميكروسوفت اكسس MS access


يتم التشغيل بواسطة Blogger.

تم الكشف عن مانع الإعلانات

الإعلانات تساعدنا في تمويل موقعنا، فالمرجو تعطيل مانع الإعلانات وساعدنا في تقديم محتوى حصري لك. شكرًا لك على الدعم ❤️