نحتاج فى كثير من الأحيان إلى حذف سجل معين أو مجموعة سجلات وفى هذا الدرس
سنقوم بشرح طريقة حذف سجل أو مجموعة سجلات عن طريق الكود
ننتقل إلى وضع التصميم Design view ونضغط على الزر "حذف سجل" ومن الأحداث Event نضغط على الحدث ON click ونضغط على 000 ثم نختر code builder لنكتب الكود
نلاحظ أنه عند الضغط على الأمر حذف سجل تظهر رسالة النظام التي تخبرنا بأننا على وشك حذف سجل واحد فإذا قمنا بالضغط على Yes سيتم حذف السجل الحالي
لدينا هنا نموذج لبيانات المدارس schools ونريد عن طريق الضغط على الزر "حذف سجل" حذف السجل
الحالي
ننتقل إلى وضع التصميم Design view ونضغط على الزر "حذف سجل" ومن الأحداث Event نضغط على الحدث ON click ونضغط على 000 ثم نختر code builder لنكتب الكود
ثم نقوم بكتابة الكود الخاص بحذف السجل الحالي
DoCmd.RunCommand acCmdDeleteRecord
نلاحظ أنه عند الضغط على الأمر حذف سجل تظهر رسالة النظام التي تخبرنا بأننا على وشك حذف سجل واحد فإذا قمنا بالضغط على Yes سيتم حذف السجل الحالي
ولكن لو قمنا بالضغط على No
لإلغاء عملية الحذف سنلاحظ ظهور رسالة خطأ كالرسالة التي تظهر أمامنا
الآن
فنذهب للكود ثم نقوم بكتابة الأمر التالي
On error resume next
لتجاهل الخطأ الذى يظهر كما قمنا بتوضيح كيفية التعامل مع الأخطاء في احد الدروس السابقة
طرق الغاء رسائل تأكيد الحذف
ولكن كيف يمكن الغاء رسالة تأكيد الحذف التي تظهر لنا هناك اكثر من طريقة
لعمل ذلك
الطريقة الأولى: عن طريق اعدادات برنامج الاكسس
وذلك عن طريق الضغط على القائمة file ثم اختيار Options
ومن client settings نذهب إلى confirm
ثم نزيل علامة الصح من أمام الأمر Record changes
كما هو موضح بالمثال
ويعيب هذه الطريقة انه لا يتم تنفيذها تلقائيا في أجهزة العملاء بل يلزم تغيير إعدادات أجهزة العملاء يدويا
الطريقة الثانية : عن طريق الكود ويتم وضع الكود قبل أمر الحذف
نقوم بوضع الكود
Docmd.setwarnings false
ويقوم هذا الكود بتعطيل رسائل التحذير كلها ونظرا لأهمية رسائل التحذير
سنقوم بتنشيط رسائل التحذير مرة أخرى بعد كود الحذف وذلك بكتابة الكود
Docmd.setwarnings true
الطريقة الثالثة : عن طريق الكود أيضا ولكن هذا الكود مسئول فقط عن التغييرات في السجلات
فنقوم وضع الكود قبل أمر الحذف نقوم بوضع الكود
Application.SetOption "Confirm Record Changes", False
ويقوم هذا الكود بتعطيل رسائل التحذير الخاصة بالتغيير في السجلات مثل حذف
السجلات ونظرا لأهمية رسائل التحذير الخاصة بحذف السجلات وحتى لا يحدث بالخطأ
الضغط على زر الأمر حذف سجل ويتم الحذف بالخطأ سنقوم بتنشيط رسائل التحذير
مرة أخرى بعد كود الحذف وذلك بكتابة الكود
Application.SetOption "Confirm Record Changes", Trueوضع رسالة تحذيرية من تصميمنا لتأكيد عملية الحذف
ونريد وضع رسالة تحذيرية لتأكيد عملية الحذف وعند تأكيد الحذف يتم الحذف وعند عدم تأكيد الحذف يتم
تجاهل الأمر
نقوم بوضع رسالة تحذيرية وعندما يكون الضغط على 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
نلاحظ انه عند الضغط على الأمر حذف سجل تظهر رسالة تحذيرية وعند الضغط على Yes تتم عملية الحذف
ليست هناك تعليقات:
إرسال تعليق