Do في امايكروسوفت اكسس - استخدام الدالة
استخدام دالة DO…Loop في مايكروسوفت اكسس VBA
تستخدم الدالة Do لتنفيذ امر معين او مجموعة من الاوامر الى ان يتحقق شرط معين .
الصيغة:
VBA
Do until i=10
i=i+1
msgbox i
Loop
مثال:
في هذا المثال يوجد مربع نص في النموذج اسمه ReoderLevel وسيتم البحث في جميع السجلات من السجل الاول الى السج اذا ما ترك هذا الحقل فارغ وسيتم وضع القيمة 0 بدلا من تركه فارغا
VBA
i = 0
ReoderLevel.SetFocus
DoCmd.GoToRecord , , acFirst
Do Until i = Me.Recordset.RecordCount
If IsNull(ReoderLevel) Then ReoderLevel = 0
DoCmd.GoToRecord , , acNext
i = i + 1
Loop
ان Until تستخدم لتحديد الشرط الذي سيتوقف الدوران عنده ويمكن الاستغناء عنه في الكود على ان يتم اضافة الشرط داخل الجملة لان تركه مفتوح سيؤدي الى تنفيذ الكود وعدم التوقغف نهائيا لاننا لم نحدد له مكان ووقت التوقف عن التنفيذ، وممكن ان تتم اعادة صياغة الكود في المثال السابق كما يلي:
VBA
i = 0
ReoderLevel.SetFocus
DoCmd.GoToRecord , , acFirst
Do
If IsNull(ReoderLevel) Then ReoderLevel = 0
DoCmd.GoToRecord , , acNext
If i >= Me.Recordset.RecordCount Then Exit Do 'شرط التوقف
i = i + 1
Loop
تعليقات
إرسال تعليق