يوليو 2020 - مدرسة الويب web school

الصفحات

طريقة حذف السجلات delete records بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

نحتاج فى كثير من الأحيان إلى حذف سجل معين أو مجموعة سجلات وفى هذا الدرس سنقوم بشرح طريقة حذف سجل أو مجموعة سجلات عن طريق الكود

لدينا هنا نموذج لبيانات المدارس schools ونريد عن طريق الضغط على الزر "حذف سجل" حذف السجل الحالي

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

ننتقل إلى وضع التصميم Design view ونضغط على الزر "حذف سجل" ومن الأحداث Event نضغط على الحدث ON click ونضغط على 000 ثم نختر code builder لنكتب الكود

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access


ثم نقوم بكتابة الكود الخاص بحذف السجل الحالي

DoCmd.RunCommand acCmdDeleteRecord

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access


نلاحظ أنه عند الضغط على الأمر حذف سجل تظهر رسالة النظام التي تخبرنا بأننا على وشك حذف سجل واحد فإذا قمنا بالضغط على Yes سيتم حذف السجل الحالي

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

ولكن لو قمنا بالضغط على No لإلغاء عملية الحذف سنلاحظ ظهور رسالة خطأ كالرسالة التي تظهر أمامنا الآن

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

فنذهب للكود ثم نقوم بكتابة الأمر التالي
On error resume next

لتجاهل الخطأ الذى يظهر كما قمنا بتوضيح كيفية التعامل مع الأخطاء في احد الدروس السابقة

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

طرق الغاء رسائل تأكيد الحذف

ولكن كيف يمكن الغاء رسالة تأكيد الحذف التي تظهر لنا هناك اكثر من طريقة لعمل ذلك
الطريقة الأولى: عن طريق اعدادات برنامج الاكسس

وذلك عن طريق الضغط على القائمة file ثم اختيار Options

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access


ومن client settings نذهب إلى confirm ثم نزيل علامة الصح من أمام الأمر Record changes كما هو موضح بالمثال

ويعيب هذه الطريقة انه لا يتم تنفيذها تلقائيا في أجهزة العملاء بل يلزم تغيير إعدادات أجهزة العملاء يدويا 
طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

الطريقة الثانية : عن طريق الكود ويتم وضع الكود قبل أمر الحذف
نقوم بوضع الكود
Docmd.setwarnings false
ويقوم هذا الكود بتعطيل رسائل التحذير كلها ونظرا لأهمية رسائل التحذير سنقوم بتنشيط رسائل التحذير مرة أخرى بعد كود الحذف وذلك بكتابة الكود

Docmd.setwarnings true
طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access





الطريقة الثالثة : عن طريق الكود أيضا ولكن هذا الكود مسئول فقط عن التغييرات في السجلات فنقوم وضع الكود قبل أمر الحذف نقوم بوضع الكود
Application.SetOption "Confirm Record Changes", False
ويقوم هذا الكود بتعطيل رسائل التحذير الخاصة بالتغيير في السجلات مثل حذف السجلات ونظرا لأهمية رسائل التحذير الخاصة بحذف السجلات وحتى لا يحدث بالخطأ الضغط على زر الأمر حذف سجل ويتم الحذف بالخطأ سنقوم بتنشيط رسائل التحذير مرة أخرى بعد كود الحذف وذلك بكتابة الكود
 Application.SetOption "Confirm Record Changes", True


طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

وضع رسالة تحذيرية من تصميمنا لتأكيد عملية الحذف

ونريد وضع رسالة تحذيرية لتأكيد عملية الحذف وعند تأكيد الحذف يتم الحذف وعند عدم تأكيد الحذف يتم تجاهل الأمر
نقوم بوضع رسالة تحذيرية وعندما يكون الضغط على yes تتم عملية الحذف وذلك بوضع أوامر الحذف بعد then أما في حالة عدم الضغط على yes يتم تجاهل الأمر
If MsgBox(“انت على وشك حذف السجل الحالي", vbYesNo, رسالة تحذيرية") = vbYes Then
 Application.SetOption "Confirm Record Changes", False
DoCmd.RunCommand acCmdDeleteRecord
 Application.SetOption "Confirm Record Changes", True
 Else

 End If


طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access


نلاحظ انه عند الضغط على الأمر حذف سجل تظهر رسالة تحذيرية وعند الضغط على Yes تتم عملية الحذف

طريقة حذف السجلات delete records  بالأكواد وعدم إظهار رسالة تأكيد الحذف فى الاكسس Ms access

بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access

تحدثنا من قبل عن طريق استخدام أزارر التنقل بين السجلات ..والان سنستخدم كود VBA للتنقل بين السجلات


لدينا هنا نموذج للمنتجات   products ونريد وضع أزرار التنقل بين السجلات على هذا النموذج

بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access


نضغط من التبويب Design على زر الأمر command button وتظهر نافذة لاختيار نوع الزر فنضغط على cancel لكتابة الكود بشكل يدوي

بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access


نقوم بتنسيق الزر بالحجم المناسب ومن name يمكن اختيار اسم مناسب له وليكن next ومن caption نختر عنوان له وليكن التالي

بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access

ومن event نختر onclick فتظهر نافذة نختر منها code builder لكتابة الكود باليد


بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access


ثم نقوم بكتابة الأمر docmd. بمجرد وضع النقطة بجوار الأمر docmd تظهر قائمة منسدلة بها العديد من الأوامر نختر منها gotorecord ومن objecttype نختر نوع الكائن وهو هنا نموذج فنختر acdataform وهى خاصية اختيارية ومن objectname نختر اسم الكائن وهذا النموذج اسمه frmproduts وهى أيضا خاصية اختيارية ثم نحديد نوع السجل الذى نريد الذهاب اليه من record=acnext ومن Offset نكتب واحد لو اردنا ان يكون التنقل خطوة واحدة


بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access

وعند الانتقال إلى وضع form view نلاحظ عند الضغط على زر الأمر  " التالي" ان الزر يقوم بالانتقال إلى السجل التالي مباشرة

بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 ولو أردنا أن يتم الانتقال بمقدار 2 خطوة للأمام عند الضغط على السجل التالي نغير في offset=2 كما هو بالمثال
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 وعند الانتقال إلى وضع form view نلاحظ عند الضغط على زر الأمر  " التالي" ان الزر يقوم بالانتقال إلى السجل بعد التالي  وليس التالي أي أن الزر يقوم بالانتقال مقدار 2 خطوة وليس خطوة واحدة
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 في معظم الأحيان لا نحتاج إلى كتابة الكود الضخم السابق ونسبتدله بالكود البسيط التالي وهو docmd.gotorecord,, فتظهر قائمة منسدلة بها أنواع التنقل فنختر acnext
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 نلاحظ ان الكود اصبح سهلا بسيطا بالاستغناء عن الخصائص الاختيارية واصبح الكود
DoCmd.GoToRecord , , acNext
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 بنفس الطريقة السابقة يمكن انشاء زر أمر اخر ويمكن أيضا نسخ الزر الأول ولصقة للحصول على زر أمر آخر ونقوم بتغيير اسمه لو أردنا وكذلك العنوان له caption فنقوم بتسمية السجل الأول
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 للانتقال إلى السجل الأول نكتب هذا الكود
DoCmd.GoToRecord , , acFirst
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 للانتقال إلى السجل الأخير نكتب هذا الكود
DoCmd.GoToRecord , , acLast
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 للانتقال إلى السجل السابق نكتب هذا الكود
DoCmd.GoToRecord , , acPrevious
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 للانتقال إلى السجل جديد نكتب هذا الكود
DoCmd.GoToRecord , , acNewRec
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 شكل أزار التنقل بعد وضعها كما هو بالشكل ويمكن إعادة تنسيقها كما تحب بالشكل والحجم المناسب
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 ولكن نلاحظ أنه عند الضغط على السجل السابق وانت واقف على أول سجل ظهور رسالة خطأ كما هو واضح بالشكل والان نريد عدم ظهور مثل هذه الرسائل
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 نقوم بكتابة هذا الكود On Error Resume Next
قبل كود التنقل إلى السجل السابق
وهذا الكود يعمل على عدم ظهور رسالة الخطأ وتخطيها
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access
 ويمكن كتابة كود آخر اكثر تفصيلا وهو قبل الكود نقوم بكتابة هذا الكود On Error GoTo errhandle
وبعد كتابة كود التنقل نكتب exit sub لانهاء الإجراء ثم نكتب
errhandle:
MsgBox "انت فى السجل الأول ولا يوجد سجل سابق"
حيث errhandle المكان الذى نريد أن يذهب إليه البرنامج عند حدوث خطأ ثم نظهر رسالة توضيحية للمستخدم
ملاحظة يمكن استبدال اسم errhandle باى اسم اخر تريده
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access


 نلاحظ انه عند الضغط على السجل السابق وانت في أول سجل ظهور رسالة توضيحية للمستخدم كما هو موضح بالمثال
بالأكواد طريقة التنقل بين السجلات ومعالجة الأخطاء فى الاكسس Ms access

يتم التشغيل بواسطة Blogger.

تم الكشف عن مانع الإعلانات

الإعلانات تساعدنا في تمويل موقعنا، فالمرجو تعطيل مانع الإعلانات وساعدنا في تقديم محتوى حصري لك. شكرًا لك على الدعم ❤️