f16 قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 السلام عليكم اخواني الأعزاء سؤال : هل يمكن وضع كود واحد في النموذج لمنع ظهور رسائل الخطاء ؟ حتى لا يقوم المستخدم بالدخول على الاكواد والتعديل او مسحها بالخطاء . حيث ما اعرفه هو انه بالأمكان وضع كود ولاكن لا بد من وضعها مع كل كود تقوم بعملة . وما اريد عمله هو كود واحد لجميع الاكواد التي بالنموذج . ولكم جزيل الشكر 1 رابط هذا التعليق شارك More sharing options...
أبو آدم قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 اولا ، استخدام معالج الاخطاء Error Handler يعطي رسائل موجهة و منسقة للمستخدم تشعره بحدوث خطأ و تعطيه التفاصيل المتاحة و في حال عدم استخدام معالج الاخطاء يقوم VBA بتوجيه رسائل الخطأ ، بالمتاح من المعلومات و يوجهك نحو محرر الأكواد للتعرف على موقع الخطأ لتصويبه ثانيا ، يمكن في بداية كل كود أو في أي مكان مختار ولتعطيل معالج الاخطاء و رسائل النظام ان تستخدم العبارة ( الكود ) On Error Resume Next و حين ترغب باعادة تفعيل معالج الاخطاء تستخدم مثلا On Error GoTo PROC_ERR ويكون في ذيل الكود PROC_ERR: MsgBox "Error " & Err.Number & " " & Err.Description Resume PROC_EXIT ثالثا ، لمعالجة كامل النماذج او التطبيق ، فالامر قيد البحث في مكتبتي ... و اوافيك بالرد 3 رابط هذا التعليق شارك More sharing options...
أبو آدم قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 يقول معظم أهل هذا العلم أن الاصح ان يحمل كل اجراء معالج الاخطاء الخاص به شكرا 2 رابط هذا التعليق شارك More sharing options...
f16 قام بنشر فبراير 12, 2018 الكاتب مشاركة قام بنشر فبراير 12, 2018 شكرا جزيل لك رابط هذا التعليق شارك More sharing options...
kaser906 قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 1 ساعه مضت, أبو آدم said: يقول معظم أهل هذا العلم أن الاصح ان يحمل كل اجراء معالج الاخطاء الخاص به شكرا اشكرك استاذنا الكريم كنت راح افتح موضوع جديد بخصوص استفسار ورأيت هذا الموضوع يحمل نفس الصلة ولكن بختلاف التفصيل حيث اني اريد أن استفيد من الخطأ في توجيه البرنامج لاجراء حدث معين الحدث هو عند فتح النموذج يتم الاتصال بالوحدة النمطية وهي قد تم حذفها او تغييراسم الاجراء اريد أن احصل على رقم هذا الخطأ لكن لاتظهر لدي سوى ههذه الرسالة رابط هذا التعليق شارك More sharing options...
أبو آدم قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 رمز الخطأ 35 Sub or Function not defined وهذا رابط البحث عن الحلول عل الانترنت https://www.google.co.uk/search?q=VBA+Error+35+OR+"Sub+or+Function+not+defined"&gws_rd=ssl أخي الحبيب لا تظهر لك الرسالة التوضيحية المفصلة برمز الخطأ لان مرسل الرسالة هو VBA وليس معالج الاخطاء الخاص بالاجراء او الكود و بالتالي يتم تزويدك بالحد الادنى من المعلومات 2 رابط هذا التعليق شارك More sharing options...
kaser906 قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 نعم استاذنا الكريم حاولت استخدام رمز الخطأ 35 للاستفادة منه في إجراء حدث معين ( اغلاق قاعدة البيانات مثلاً ) لكن دون فائدة هل من طريقة للاستافادة من هذا الخطأ في اغلاق قاعدة البيانات رابط هذا التعليق شارك More sharing options...
أبو آدم قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 ساحاول ان اجيبك غدا باذن الله لأني ساغادر مكاني حاليا شكرا لانتظارك حتى الغد رابط هذا التعليق شارك More sharing options...
kaser906 قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 1 دقيقه مضت, أبو آدم said: شكرا لانتظارك حتى الغد إن غداً لناظره قريب الله يعطيك العافيه رابط هذا التعليق شارك More sharing options...
أبو آدم قام بنشر فبراير 12, 2018 مشاركة قام بنشر فبراير 12, 2018 للاسف فان أخطاء Compile Errors يصنفها vba على أنها غير قانونية وبالتالي يتم تمييزها من قبل محرر vba كأخطاء قبل بدء تشغيل الكود الخاص بك و يبرزها مظللة بالصفر مع رسالة مباشرة من المحرر اعتمادا على إعداد خيار التحقق من بناء الجملة التلقائي ، اي انه يتم الكشف عنها عندما يتم تجميع التعليمات البرمجية، قبل تنفيذها مباشرة.. ليست كبقية الأخطاء و لم انجح حتى الآن بصيدها بمعالج الاخطاء او اي حل برمجي آخر لغاية الآن .... فعذرا لكنني مستمر بالمحاولة باذن الله 2 رابط هذا التعليق شارك More sharing options...
sandanet قام بنشر فبراير 13, 2018 مشاركة قام بنشر فبراير 13, 2018 بعد اذن الاستاذ ابو آدم .. لتحديد الرقم الفريد المقترن برسالة الخطأ اضغط على CTRL + SHIFT + I بعد ظهور رسالة الخطأ سوف تظهر لك رقم الرسالة في الركن الأيسر السفلي من رسالة الخطأ رابط هذا التعليق شارك More sharing options...
kaser906 قام بنشر فبراير 13, 2018 مشاركة قام بنشر فبراير 13, 2018 6 ساعات مضت, أبو آدم said: للاسف فان أخطاء Compile Errors يصنفها vba على أنها غير قانونية وبالتالي يتم تمييزها من قبل محرر vba كأخطاء قبل بدء تشغيل الكود الخاص بك و يبرزها مظللة بالصفر مع رسالة مباشرة من المحرر اعتمادا على إعداد خيار التحقق من بناء الجملة التلقائي ، اي انه يتم الكشف عنها عندما يتم تجميع التعليمات البرمجية، قبل تنفيذها مباشرة.. ليست كبقية الأخطاء و لم انجح حتى الآن بصيدها بمعالج الاخطاء او اي حل برمجي آخر لغاية الآن .... فعذرا لكنني مستمر بالمحاولة باذن الله الله يعطيك العافية استاذنا 2 ساعات مضت, sandanet said: بعد اذن الاستاذ ابو آدم .. لتحديد الرقم الفريد المقترن برسالة الخطأ اضغط على CTRL + SHIFT + I بعد ظهور رسالة الخطأ سوف تظهر لك رقم الرسالة في الركن الأيسر السفلي من رسالة الخطأ اخي الكريم تجاوزنا الان رقم الخطأ فقد تم معرفة الرقم 35 الان المطلوب الاستفادة من الخطأ في تنفيذ إجراء محدد ( إغلاق قاعدة البيانات) رابط هذا التعليق شارك More sharing options...
sandanet قام بنشر فبراير 13, 2018 مشاركة قام بنشر فبراير 13, 2018 استخدم الكود التالي مع تغيير رقم رسالة الخطأ Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 3022 Then MsgBox "نص رسالة الخطأ", vbCritical, "..رسالة خطأ.." Docmd.... Response = 0 End If End Sub رابط هذا التعليق شارك More sharing options...
kaser906 قام بنشر فبراير 13, 2018 مشاركة قام بنشر فبراير 13, 2018 5 ساعات مضت, sandanet said: استخدم الكود التالي مع تغيير رقم رسالة الخطأ Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 3022 Then MsgBox "نص رسالة الخطأ", vbCritical, "..رسالة خطأ.." Docmd.... Response = 0 End If End Sub للاسف لم يأتي بنتيجة رابط هذا التعليق شارك More sharing options...
أبو إبراهيم الغامدي قام بنشر فبراير 13, 2018 مشاركة قام بنشر فبراير 13, 2018 إذا كانت أخطاء المحرر لايمكن إختابارها داخل محرر الشفرة؛ فأعتقد أنه من الممكن تصيدها باستخدام الوظيفة ()Eval، إذ أن هذه الوظيفة مهمتها الأساسية هي تقييم التعابير وإعادة النتايج التي تخرج عن تلك التعابير؛فاذا كانت التعبير يحتوي على وظائف وإجراءات مفقودة فإن الوظيفة ()Eval ستعيد رسالة خطأ بالرقم 2425 مفادها "يحتوي التعبير على وظيفة مفقودة".. وبهذا نكون سحبنا الخطأ إلى داخل محرر الشفره وبالتالي يمكننا تصيده بالطريقة المعتادة.. Control VBE Error.accdb 1 2 رابط هذا التعليق شارك More sharing options...
kaser906 قام بنشر فبراير 13, 2018 مشاركة قام بنشر فبراير 13, 2018 (معدل) 1 ساعه مضت, أبو إبراهيم الغامدي said: إذا كانت أخطاء المحرر لايمكن إختابارها داخل محرر الشفرة؛ فأعتقد أنه من الممكن تصيدها باستخدام الوظيفة ()Eval، إذ أن هذه الوظيفة مهمتها الأساسية هي تقييم التعابير وإعادة النتايج التي تخرج عن تلك التعابير؛فاذا كانت التعبير يحتوي على وظائف وإجراءات مفقودة فإن الوظيفة ()Eval ستعيد رسالة خطأ بالرقم 2425 مفادها "يحتوي التعبير على وظيفة مفقودة".. وبهذا نكون سحبنا الخطأ إلى داخل محرر الشفره وبالتالي يمكننا تصيده بالطريقة المعتادة.. Control VBE Error.accdb استاذنا ابو ابراهيم النتائج ممتازة الله يعطيك ألف عافية تم تعديل فبراير 13, 2018 بواسطه kaser906 رابط هذا التعليق شارك More sharing options...
أبو آدم قام بنشر فبراير 14, 2018 مشاركة قام بنشر فبراير 14, 2018 جزاك الله خيرا أتحفتنا ابا ابراهيم شكرا رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان