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











ليست هناك تعليقات:

إرسال تعليق