اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر

سلام عليكم 

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

docmd.setwarnings false  و   on error resume next    ولم افلح في ذلك .

مثال في المرافق ....

مع الشكر ........

test_quit.accdb

قام بنشر

السبب في عدم اختفاء الرسائل انك عند انشاء الجدول اخترت في خصائص حقلي الاسم والوظيفة مطلوب = نعم

تم تعديلها الى مطلوب = لا

ثم في خصائص الحقل للنموذج في حدث عند الخروج وضعنا الكود التالي

If IsNull([نص2]) Then
MsgBox "حقل الاسم فارغ", vbInformation, "تنبية"
DoCmd.CancelEvent
End If

وبالتالي لا داعي لايقاف رسائل النظام

  • Like 1
قام بنشر

استاذي العزيز جزاك الله خير ...

نعم المرافق شغال بشكل جيد جدا ولكن هذا يعني اني اكتب هذا الكود في كل مربعات النص التي عندي والتي قد تصل الى عشرين مربع نص

If IsNull([نص2]) Then
MsgBox "حقل الاسم فارغ", vbInformation, "تنبية"
DoCmd.CancelEvent
End If

.... هل يوجد شي يختصر هذا الامر بحيث يطبق على جميع مربعات النص دفعة واحدة عند الخروج .

اما بخصوص كونه بخصائص الجدول مطلوب = نعم فانا جعلته كذلك ليتحتم على المستخدم املاءه لكونه مربع نص مهم يجب ان لايترك فارغا .

تحياتي واحترامي ....

قام بنشر

اخي الكريم في حدث عند الخروج فقط ضع التالي

SendKeys "{ESC}"
اذا رغبت في رسالة تأكيد فقط ضع التالي
 
If MsgBox("هل تود حفظ التغييرات", vbYesNo) = vbNo Then
Cancel = True
SendKeys "{ESC}"
Exit Sub
End If

 

  • Like 1
قام بنشر (معدل)

الاستاذ kha9009lid  المحترم

حقيقة ان مثال الاستاذ عبد اللطيف سلوم رااااائع جدا لايقل عن روعة اجابتك ....

شكرا جزيلا لكم اساتذتي واحبتي وتمنياتي لكم التوفيق دائما .

لكن عندما تكون خاصية الحقول بالجدول (مطلوب = نعم ) فلا يعمل المثال بالشكل المثالي . 

تم تعديل بواسطه عذاب الزمان
قام بنشر (معدل)

اذن نبقي الحقل مطلوب بدون تعديل ونستبدل رسالة اكسس برسالة من قبلنا

في حدث عند الخطا نضع الكود

    Const conErrRequiredData = 3314
   Select Case DataErr
   Case conErrRequiredData
         MsgBox "حقل مطلوب", vbInformation + vbOKOnly + vbMsgBoxRight, "تنبيه"
        Response = acDataErrContinue
               Case Else
        Response = acDataErrDisplay
 End Select

حقل مطلوب.accdb

تم تعديل بواسطه kha9009lid
  • Like 2
قام بنشر

حيث ان رمز الخطاء لترك سجل مطلوب بدون ادخال قيمة = 3314

ويمكن معرفة رمز الاخطاء لرسائل النظام عند ظهور الرسالة ندخل على تعليمات ثم نشاهد رقم الخطاء ونستبدلة بكود vba

قام بنشر

هذه الرسالة تظهر عند الاغلاق بعد التنبية بوجود حقل فارغ ولم يقم المستخدم باستكمال تعبئة البيانات واصرارة على الاغلاق وسبب ظهورها اختيار قيمة الحقل مطلوب = نعم

ربما يكون الحل  ان نحول حفظ السجلات من تلقائي الى امر حفظ وفي حالة وجود حقول فارغة يتم حذف السجل

وربما تكون هناك حلول اخرى ولكني اليوم وصلت لمرحلة عدم التجميع من الارهاق

وربما نجد حل سريع من احد الاساتذة في الموقع او نعود له مره اخرى بتركيز اكثر

قام بنشر (معدل)
4 ساعات مضت, kha9009lid said:

هذه الرسالة تظهر عند الاغلاق بعد التنبية بوجود حقل فارغ ولم يقم المستخدم باستكمال تعبئة البيانات واصرارة على الاغلاق وسبب ظهورها اختيار قيمة الحقل مطلوب = نعم

ربما يكون الحل  ان نحول حفظ السجلات من تلقائي الى امر حفظ وفي حالة وجود حقول فارغة يتم حذف السجل

وربما تكون هناك حلول اخرى ولكني اليوم وصلت لمرحلة عدم التجميع من الارهاق

وربما نجد حل سريع من احد الاساتذة في الموقع او نعود له مره اخرى بتركيز اكثر

استاذ @kha9009lid

استخدم في بداية الكود

On Error Resume Next

وهذه الكود بدل رسالة التنبيه أو معها

 

     If Me.Dirty Then Me.Dirty = False

ويمكنك استخدامهما ايضا معا عند النقر على زر خروج بدون كود في حدث عند الخطأ

تم تعديل بواسطه kaser906
  • Like 1
قام بنشر

قم بتغير الأمر اغلاق قاعدة البيانات

DoCmd.Quit

بهذا الأمر

DoCmd.Close

وحتى كود الاستاذ خالد سيعمل معك بدون الاضافة التي وضعتها انا بالمشاركة السابقة

::بالتوفيق::

  • Like 1
  • أفضل إجابة
قام بنشر
14 ساعات مضت, عذاب الزمان said:

الاخ د.كاف يار  المحترم 

عند تبديل docmd.close  بجملة خروج المطلوبة docmd.quit لايعمل بشكل مثالي وترجع نفس المشكلة .

جزاك الله خير .........

اخي الكريم فقط قم باضافة docmd.quit

تفضل التعديل

test_quit.accdb

  • Like 2
قام بنشر

الاخ الاستاذ د.كاف يار المحترم 

وهو المطلوب ... شيء رائع ... جزاك الله خير ...

الاستاذ خالد kha9009lid والاستاذ ابو محمد kaser906 المحترمون 

اشكركم جزيل الشكر لماقدمتموه من حلول مفيدة ورائعة وباكثر من طريقة جزاكم الله خير الجزاء ...

  • Like 1
قام بنشر

اولا اشكرك على كلامك الطيب واشكر اخونا د. كاف يار

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

وانا اعتقدت انك انت تريد ايقافها واستبدالها برسالة من قبلك من كامل البرنامج سواء عند الاغلاق او الانتقال الى سجل جديد او سجل سابق او استخدام اغلاق من x في اعلا النموذج

على العموم اعتذر اني اضعت وقتك واشغلتك بسبب عدم فهمي الصحيح للمطلوب

تقبل تحياتي وتقديري

قام بنشر

الاخ والاستاذ خالد kha9009lid المحترم 

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

اشكركم كثيرا ....

دائما في هذا الموقع الرائع تساعدوني في احتياجاتي فلكم جزيل الشكر والامتنان وبارك الله فيكم جميعا .... 

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information