يمكنك استخدام الإجراء ClearMacroError لمسح معلومات حول خطأ مخزن في كائن MacroError .
ملاحظة: لا يتوفر إجراء الماكرو ClearMacroError في تطبيقات Access على الويب.
الإعداد
لا يحتوي إجراء ClearMacroError على أي وسيطات.
ملاحظات
-
عند حدوث خطأ في ماكرو، يتم تخزين معلومات حول الخطأ في كائن MacroError . إذا لم تكن قد استخدمت الإجراء OnError لمنع رسائل الخطأ، يتوقف الماكرو ويتم عرض معلومات الخطأ في رسالة خطأ قياسية. ومع ذلك، إذا كنت قد استخدمت الإجراء OnError لمنع رسائل الخطأ، فقد تحتاج إلى استخدام المعلومات المخزنة في كائن MacroError في شرط أو في رسالة خطأ مخصصة.
بعد معالجة خطأ، تكون المعلومات الموجودة في كائن MacroError قديمة، لذلك من الجيد مسح الكائن باستخدام الإجراء ClearMacroError . يؤدي القيام بذلك إلى إعادة تعيين رقم الخطأ في كائن MacroError إلى 0 ويمسح أي معلومات أخرى حول الخطأ المخزن في العنصر، مثل وصف الخطأ واسم الماكرو واسم الإجراء والشرط والوسيطات. بهذه الطريقة، يمكنك فحص كائن MacroError مرة أخرى لاحقا لمعرفة ما إذا كان قد حدث خطأ آخر.
-
يتم مسح كائن MacroError تلقائيا عند انتهاء أي ماكرو، لذلك لا تحتاج إلى استخدام الإجراء ClearMacroError في نهاية الماكرو.
-
يحتوي عنصر MacroError على معلومات حول خطأ واحد فقط في كل مرة. إذا حدث أكثر من خطأ واحد في ماكرو، فإن عنصر MacroError يحتوي على معلومات حول الخطأ الأخير فقط.
-
لتشغيل إجراء ClearMacroError في وحدة VBA، استخدم الأسلوب ClearMacroError للكائن DoCmd .
مثال
يستخدم الماكرو التالي إجراء OnError مع الوسيطة Next لمنع رسائل الخطأ، ثم يستخدم الإجراء OpenForm لفتح نموذج. على سبيل المثال، يتم إنشاء خطأ عمدا باستخدام إجراء GoToRecord للانتقال إلى السجل السابق. الشرط [MacroError].[Number]<>0 يختبر عنصر MacroError . إذا حدث خطأ، يكون رقم الخطأ غير صفري، ويتم تشغيل إجراء MsgBox . يعرض مربع الرسالة اسم الإجراء الذي تسبب في الخطأ (في هذه الحالة، الإجراء GoToRecord )، ويتم عرض رقم الخطأ. وأخيرا، يؤدي تشغيل الإجراء ClearMacroError إلى مسح كائن MacroError .
الشرط |
الإجراء |
الوسيطات |
Onerror |
انتقل إلى: التالي |
|
Openform |
اسم النموذج: CategoryForm طريقة العرض: نموذج وضع النافذة: عادي |
|
Gotorecord |
نوع العنصر: نموذج اسم الكائن: CategoryForm السجل: السابق |
|
[MacroError]. [رقم]<>0 |
Msgbox |
الرسالة: ="Error # " & [MacroError]. [رقم] & " على " & [MacroError]. [ActionName] & "الإجراء". Beep: نعم النوع: معلومات |
ClearMacroError |