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

الصفحات

الحلقة التكرارية for next واستخدامها مع VBA access

تستخدم الحلقة التكرارية for next  لتكرار عدد من الأوامر فى حالة معرفة عدد  مرات التكرار مسبقا



بناء الحلقة التكرارية for next



For counter = start To end [step increment ]
   Statement
Next counter
حيث counter متغير variable 

ملاحظات هامة
متغير العداد هو متغير رقمي يستخدم لحساب عدد مرات التكرار
الأمر step  اختياري وفي حالة عدم كتابته يأخذ القيمة الافتراضية 1
كتابة المتغير بعد next اختياري فيمكن كتابته ويمكن اهماله
إذا كانت قيمة البداية start اقل من قيمة النهاية end يكون مقدار الزيادة بالموجب أما إذا كانت قيمة البداية start أقل من قيمة النهاية end يكون مقدار الزيادة بالسالب

في هذا المثال نقوم بعمل حلقة تكرارية لعرض الأرقام من 1 إلى 10 بمجرد الضغط على زر الأمر المعروض على الشاشة لذا ننشيء زر الأمر الموضح ثم من الأحداث event نضغط على الحدث Onclick

الحلقة التكرارية for next واستخدامها مع VBA access
 نقوم أولاً بالإعلان عن المتغير  counter بعدد صحيح Integer ثم نقوم بإنشاء الحلقة التكرارية كما هو موضح حيث for counter = 1 to 10
Msgbox counter ففي كل دورة يتم عرض قيمة العداد counter ففي الدورة الأولى تكون قيمته 1 ثم بعد Next تتغير قيمته وتصبح 2 ويقوم باختبار الشرط مرة أخرى هل العداد counter قيمته تقع بين 1 و10 إذا كان الشرط صحيح يقوم بإظهار قيمة counter  وهى هنا تكون 2 ثم بعد next تزيد قيمته وتصبح ثلاثة وهكذا..
الحلقة التكرارية for next واستخدامها مع VBA access

 عند الضغط على زر الأمر يتم عرض رسالة تظهر قيمة الأرقام من 1 إلى 10 كما هو موضح بالمثال
الحلقة التكرارية for next واستخدامها مع VBA access

الخطوة تلقائيا step تكون قيمتها 1 ويمكن تغيير قيمتها كما نريد ففي هذا المثال نريد عرض الأرقام الفردية التي تقع بين 1 و10 لذا تكون قيمة الخطوة step =2  كما هو موضح بالمثال فيقوم بعرض الأرقام الفردية 1-3-5-7-9

الحلقة التكرارية for next واستخدامها مع VBA access
عند الضغط على زر الأمر يتم عرض رسالة تظهر قيمة الأرقام الفردية التي تقع بين  1 إلى 10 كما هو موضح بالمثال
الحلقة التكرارية for next واستخدامها مع VBA access


يمكن ان تكون قيمة الخطوة step بالناقص وليس بالزيادة وذلك إذا كانت قيمة البداية اكبر من قيمة النهاية فهنا في هذا المثال قيمة البداية هي 10 والنهاية هي 0 وتكون قيمة الخطوة step =-2  ففي كل دورة يتم النقصان بقيمة قدرها -2
الحلقة التكرارية for next واستخدامها مع VBA access


عند الضغط على زر الأمر يتم عرض رسالة تظهر قيمة الأرقام الزوجية التي تقع بين  10 إلى 0 كما هو موضح بالمثال
الحلقة التكرارية for next واستخدامها مع VBA access


في هذا المثال نريد من المستخدم ادخال رقم معين في مربع النص من والذى له الاسم txtmin ورقم اخر يكون اكبر من الرقم الأول في مربع النص إلى والذي له الاسم txtmax ونقوم بعرض المجموع في مربع النص المجموع والذى له الاسم ctxt وذلك عند الضغط على الأمر اجمع

الحلقة التكرارية for next واستخدامها مع VBA access


نقوم بوضع قيمة مربع النص الذى به المجموع =0 ثم نقوم بعمل حركة تكرارية ونعلن عن المتغير x بكونه عدد صحيح وبداية الحركة التكرارية هي مربع النص txtmin ونهاية الحركة التكرارية هي مربع النص txtmax وتكون قيمة المجموع = المجموع +قيمة X
وهكذا نلاحظ ظهور مجموع الأعداد في مربع النص المجموع

الحلقة التكرارية for next واستخدامها مع VBA access

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

الحلقة التكرارية for next واستخدامها مع VBA access

استخدام جملة select case الشرطية في VBA access

وهى تشبه لحد كبير جملة if الشرطية فى استخدامها ولكن يستحسن استخدام جملة select case  فى حالة كثرة الاحتمالات فهى اسهل وابسط فى الكتابة 
وتتكون جملة select case  من
Select Case +الشرط
Case الشرط
ماالذى يحدث فى حالة تحقق الشرط
case شرط اخر
ما الذى يحدث فى حالة تحقق هذا الشرط
case else  وهو اختياري وليس الزامي
ما الذى يحدث فى حالة عدم تحقق الشرط

End Select
في البداية نقوم بإنشاء نموذج جديد وليكن اسمه form1 وندرج مربع نص textbox  ونقف على مربع النص ومن Name نعطه اسم وليكن color كما هو موضح بالمثال

استخدام جملة select case الشرطية  في VBA access

وندرج مربع نص اخر ونعطه اسما وليكن result كما هو موضح وندرج زر أمر وليكن عنوانه اظهر اللون ..وفى هذا المثال نريد من المستخدم ان يكتب اسم اللون في مربع النص الأول المكتوب امامه اكتب اللون (سواء باللغة العربية أو با للغة الانجليزية)الذي يريد ان يظهر امامه ويظهر اللون في مربع النص الأخر عند الضغط على زر أظهر اللون

استخدام جملة select case الشرطية  في VBA access

نضغط على زر الأمر أظهر اللون ومن الأحداث نختر الحدث Onclick ثم نختر code builder ونبدأ بكتابة الكود.. في هذا المثال نستخدم الجملة الشرطية select case
ونلاحظ ان الشرط عندنا مبني على ما يقوم المستخدم بادخاله في خانة مربع النص color
لذا نكتب select case color
ثم نبدأ نكتب في الخيارات ففي حالة ادخال المستخدم كلمة red يصبح لون مربع النص الذى اسمه result   لون احمر vbred وهكذا مع باقى الألوان كما هو موضح بالمثال
استخدام جملة select case الشرطية  في VBA access

 في هذا المثال يقوم المستخدم بكتابة اللون Yellow ثم يضغط على أمر اظهر اللون فنلاحظ ان مربع النص result تحول للون الأصفر كما هو موضح .

استخدام جملة select case الشرطية  في VBA access

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

استخدام جملة select case الشرطية  في VBA access

لذا نستخدم case else وفائدتها إذا لم يتحقق الشرط الذى نختبره  ما الذى سوف يحدث في هذا المثال قمنا بكتابة رسالة نصية تظهر أن اللون غير موجود

استخدام جملة select case الشرطية  في VBA access

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

استخدام جملة select case الشرطية  في VBA access

ماذا لو ادخل مستخدم أخر اسم اللون باللغة العربية وليس باللغة الإنجليزية هنا نلاحظ انه يمكننا استخدام الفاصلة , للجمع بين اكثر من حالة لتحقيق شرط معين ..فهنا مثلا نلاحظ اننا كتبنا
Case “red”,”احمر
أي إذا أدخل المستخدم كلمة red أو كلمة أحمر وهكذا يمكننا زيادة الخيارات كما نريد في كل حالة

استخدام جملة select case الشرطية  في VBA access

نلاحظ هنا ان المستخدم قام بإدخال كلمة احمر ثم عند الضغط على زر الأمر أظهر اللون ظهر اللون الأحمر كما هو موضح.

استخدام جملة select case الشرطية  في VBA access

 في هذا المثال يقوم المستخدم بإدخال درجة الطالب نقف على مربع النص ومن Other نعطه اسما وليكن degreeوعند الضغط على النتيجة تظهر نتيجة الطالب في مربع النص الأخرالذى اعطيناه اسم result

استخدام جملة select case الشرطية  في VBA access

هنا نكتب جملة جملة select case degree ونستخدم فيها المدى من رقم معين إلى رقم اخر
Case 5 to 10 فإذا كان مجموع الطالب من 5 إلى 10 فإن الطالب ناجح وإذا كان مجموع الطالب من 0 to 4  فإن الطالب راسب

استخدام جملة select case الشرطية  في VBA access

قام المستخدم بإدخال الرقم 8 فظهرت النتيجة ناجح

استخدام جملة select case الشرطية  في VBA access

في حالة استخدام المعاملات اكبر من أو اكبر من او يساوي أو اقل من أو غيرها من المعاملات نستخدم case is  كما هو موضح

استخدام جملة select case الشرطية  في VBA access

في هذا المثال قام المستخدم بإدخال كلمة 79 فظهر التقدير very good

استخدام جملة select case الشرطية  في VBA access

if الشرطية واستخدامها مع VBA access

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

ولها عدة حالات

الحالة الأولى:-

فى حالة تحقق الشرط
وتتكون IF فى هذه الحالة من 
IF+الجواب فى حالة تحقق الشرط+الشرط المراد اختباره+End if





 مثال عملي:-
نقوم بانشاء مربع نص بحيث يتم وضع مجموع الطالب به ونقوم بتسميته  sdegree ونقوم بإنشاء مربع نص اخر بحيث تظهر فيه نتيجة الطالب

if الشرطية واستخدامها مع VBA access

نقوم بتسمية مربع النص الذى تظهر فيه نتيجة الطالب باسم result

if الشرطية واستخدامها مع VBA access



نضغط على زر الأمر اظهر النتيجة ومن event نضغط على Onlclick نضغط على 000 نقاط فتظهر نافذة choose builder ومنه نختر code builder

if الشرطية واستخدامها مع VBA access
If Me.sdegree >= 50 Then Me.result = "ناجح"

أول حالة من حالات If وهى إعطاء جواب الشرط في حالة تحقق الشرط وفى هذه الحالة يمكن كتابة جملة if في سطر واحد بدون end if كما هو موضح.
فقلنا في هذا المثال لو كان مجموع الطالب أكبر من أو يساوى 50 فخانة نتيجة الطالب يظهر بها كلمة ناجح
ملاحظة: في هذه الحالة تم تجاهل ما الذي يحدث في حالة عدم تحقق الشرط

if الشرطية واستخدامها مع VBA access



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

if الشرطية واستخدامها مع VBA access

يمكن وضع الدالة if على اكثر من سطر وفى هذه الحالة يتم وضع جملة end if في نهاية الجملة كما هو موضح بالمثال
If Me.sdegree >= 50 Then
Me.result = "ناجح"
End If

if الشرطية واستخدامها مع VBA access

الحالة الثانية من حالات If 

وهو وجود شرط محدد ويحدث اجراء معين في حالة تحقق الشرط ويحدث اجراء اخر في حالة عدم تحقق الشرط مثل إذا كان مجموع الطالب أكبر من او يساوى 50 اظهر في خانة نتيجة الطالب كلمة ناجح وفى حالة عدم تحقق الشرط اظهر كلمة راسب
If Me.sdegree >= 50 Then
Me.result = "ناجح"
Else
Me.result = "راسب"
End If



if الشرطية واستخدامها مع VBA access
نلاحظ ان مجموع الطالب اقل من 50 لذا عند الضغط على زر أظهر النتيجة ظهرت نتيجة الطالب راسب

if الشرطية واستخدامها مع VBA access

الحالة الثالثة من حالات If 

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


if الشرطية واستخدامها مع VBA access
نلاحظ انه عندما كان مجموع الطالب 74 كان تقدير الطالب جيد

if الشرطية واستخدامها مع VBA access





If Me.sdegree >= 90 Then
Me.result = "امتياز"
ElseIf Me.sdegree >= 75 Then
Me.result = "جيدجدا"
ElseIf Me.sdegree >= 65 Then
Me.result = "جيد"
ElseIf Me.sdegree >= 50 Then
Me.result = "مقبول"
Else
Me.result = "راسب"
End If
يمكن انشاء دالة function ويتم وضع بداخلها حالات If المختلفة ونقوم بتسميتها باسم مناسب وفى هذا المثال اسمها grading   ويتم استدعاء الدالة كلما احتجنا لها
كما هو موضح بالمثال
if الشرطية واستخدامها مع VBA access



ثم نضغط على زر الأمر اظهر النتيجة فى وضع التصميم ومن الاحداث events نختار الحدث Onclick ومنه نختر code builder ونقوم بكتابة الكود
Me.result=grading(sdegree)
نلاحظ هنا ان مربع نتيجة الطالب يساوى دالة function الخاصة بتقدير الطالب وهى grading وتاخذ متغير واحد وهو sdegree حيث انه مربع النص الذى يتم وضع درجات الطالب بداخله 
if الشرطية واستخدامها مع VBA access





الدوال functions واستخدامتها مع vba access

تكلمنا فى درس سابق عن الاجراءات واستخدامها مع VBA access وفى هذا الدرس سنتكلم عن استخدام الدوال Functions واستخدامتها مع VBA access 
والدوال تشبه الاجراءات فى استخدامها وتختلف عنها بشيء وحيد وهو  ان الدوال ترجع قيمة معينة بينما الاجراءات لا ترجع قيمة معينة

طريقة كتابة الدالة function


يتم انشاء الدالة بكتابة الكلمة المحجوزة function ثم نقوم بكتابة اسم الدالة وليكن اسم الدالة في هذا المثال هو first   ويتم انهاء الدالة بالكلمة المحجوزة End function


الدوال functions واستخدامتها مع vba access

نقوم بانشاء دالة بسيطة من النوع النصي ولهذا قمنا بتعريف الدالة function first() as string لكون الدالة ستعيد نصاً
 وهذه الدالة أعطينا لها قيمة وهو نص معين " welcome in my application” وسيتم إعادة الدالة من خلال رسالة نصية     msgbox 


الدوال functions واستخدامتها مع vba access

في النموذج قمنا بانشاء زر اسمه function ومن الاحداث اخترنا الحدث On click ثم ضغطنا علي الثلاث نقاط لنفتح محرر الأكواد



الدوال functions واستخدامتها مع vba access
 ونقوم باستدعاء الدالة first عن طريق كتابة اسمها first كما هو في المثال والمعنى انه عند الضغط على الزر الموجود في النموذج قم بتنفيذ هذه الدالة



الدوال functions واستخدامتها مع vba access

نلاحظ انه بمجرد الضغط على الزر function يتم تنفيذ الدالة كما هو موضح بالمثال

الدوال functions واستخدامتها مع vba access

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

الدوال functions واستخدامتها مع vba access

نقوم بتسمية المربع النصى الثاني باسم lname  وهو الذى سنكتب فيه اسم الأب


الدوال functions واستخدامتها مع vba access


نقوم بتسمية المربع النصي الثالث باسم fullname حيث سيظهر فيه الاسم بالكامل


الدوال functions واستخدامتها مع vba access

نقوم بكتابة الدالة ونسمى الدالة هنا fulln وهى ستأخذ متغيرين من النوع النصي المتغير الأول اسميناه x1 والمتغير الثاني اسميناه x2 وهذه الدالة ستقوم بارجاع قيم نصية  وهذه الدالة ستقوم بجمع اسم الشخص والذى سيكون x1 مع اسم الاب والذى سيكون X2 مع وضع مسافة بينهما كما هو موضح .



الدوال functions واستخدامتها مع vba access


نضغط على الزر اظهر الاسم بالكامل ومن الاحداث نختر الحدث onclick ومنه نفتح محرر الأكواد.


الدوال functions واستخدامتها مع vba access

مربع الاسم بالكامل وهو fullname يساوى  اسم الدالة وهو fulln ثم نقوم بتمرير الوسائط للدالة حيث ان هذه الدالة تستخدم وسيطين وهما fname,lname

الدوال functions واستخدامتها مع vba access


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


الدوال functions واستخدامتها مع vba access


ماذا لو أردنا أن يظهر اسم الأب أولاً يليه اسم الابن الامر بسيط جدا وهو ان نقوم هنا في الوسائط بتمرير مربع النص الذى يحتوى على اسم الأب اولاً ثم مربع النص الذى يحتوى على اسم الشخص بعد ذلك فتكون وسائط الدالة 
me.fullname=fulln(me.lname,me.fname)


الدوال functions واستخدامتها مع vba access

نلاحظ انه عند الضغط على زر اظهر الاسم مقلوبا سيتم اظهار اسم الأب اولاً ثم اسم الشخص بعد ذلك كما هو موضح بالمثال.


الدوال functions واستخدامتها مع vba access


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

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

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