بسم الله الرحمن الرحيم
أعتذر من الإخوة المشرفين والخبراء بتقديم هذا الدرس.
لقد بحثت في هذا المنتدى قبل أن أكتب هذا الدرس عن استبدال رسائل الخطأ التي يعطيها اكسيس في حال تجاوز حقل ما عين بخاصية معينة مثل Requierd وغيرها لأن رسائله في الحقيقة تكون غير مفهومة في اغلب الاحيان للمستخدمين فوجدت الحل وها أنا اقدمه بين يدي الاخوة عسى الله أن ينفع به.
الملف مرفق:
معرفة الرقم الرمزي للخطأ:
أولا ستفتح النموذج المرفق Contact وستضيف شيفرة في الحدث OnError
1- في النموذج Contact أعرضه في Design View
2- ومن ثم انقر على الخصائص للنموذج المذكور
3- وفي علامة التبوبيب Event أنقر على الخاصية OnError ثم أنقر Build واختر بعدها Code Builder
4- يعرض اكسيس اجراء الحدث Form_error اضغط على المفتاح Tab واكتب السطر التالي: Debug.Print "DataErr = "; DaTaErr
5- انقر على زر Immediate Window سيؤدي الى فتح الاطار المذكور لتجد الشيفرة مكانا ترسل عليه الرسالة.
التسبب بوقوع الخطأ:
سنعود الآن الى النموذج Contact في حالة Form View ونجعل الخطأ يحصل:
1- احذف البيانات الموجودة في الحقل First Name وبما أن الحقل قد عين بخاصية Requierd فسيعرض اكسيس رسالة الخطأ وكما ترى أن رسالة اكسيس غير مفهومة تماما.
2- اضغط مفتاح Esc وارجع الى وضع Design View وانتقل الى الحدث الذي كتبته سابقا في فيجوال بيسك .
3- كما ترى في Immediate Window ارسل اكسيس رمز رسالة الخطأ نتيجة ترك الحقل فارغا وهي 3314
عرض رسالة خاصة بخطأ معين:
1- اغلق اطار Immediate
2- اكتب الشيفرة في اجراء الحدث Form_error
3- احذف عبارة Debug.Print التي كتبت سابقا واستبدلها بالشيفرة التالية:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conerrfieldrequired = 3314
If DataErr = conerrfieldrequired Then
DisplayMessage "أنت بحاجة لإدخال الاسم في الحقل المخصص له - You Must Fill In First Name And Last Name"
Response = acDataErrContinue
Else
Response = acDataErrDisplay 'تظهر الرسالة التي كتبناها عند وقوع الخطأ
End If
End Sub
وما عليك أخي الكريم الا اختبار العمل مرة اخرى وسترى الرسالة التي كتبتها .
وأخيرا أكرر اعتذاري من المشرفين والخبراء .
ولا تنسونا من دعوة صالحة في ظهر الغيب.
أخوكم

