اذهب الي المحتوي
أوفيسنا

ايقاف الرسائل المزعجة


monm

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

السلام عليكم 🙂

 

5 ساعات مضت, monm said:

1. ارجو  كود يكتب فى بداية اى يكود اكتبه تكون وظيفته عدم اظهار الشاشة المزعجه المرفقة

2. لأن عند الضغط على debug تظهر نافذة الكود وتبدأ الاخطاء

1.

هذه الرسائل ذو اهمية لعمل البرنامج ، واذا ظهرت مثل هذه الرسالة ، فهذا معناه ان المبرمج اخطأ في شيء ما في الكود ، ويجب علاجة وعدم تجاهله !!

رسالتك تقول بأن البرنامج يحتاج الى الحقل cmd_edara_N في عمله ، يعني ان الكود فيه هذا الحقل ، ولكن البرنامج لم يستطع الحصول عليه في النموذج !!

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

Private Sub cmd_Print_Preview_Click()
On Error GoTo err_cmd_Print_Preview_Click


if len(me.cmd_edara_N & "")=0 then
  msgbox "رجاء اختيار الإدارة من القائمة"
  me.cmd_edara_N.setfocus
  exit sub

elseif len(me.Date_From & "")=0 then
  msgbox "رجاء ادخال قيمة في حقل: تاريخ_من"
  me.Date_From.setfocus
  exit sub

elseif len(me.Date_To & "")=0 then
  msgbox "رجاء ادخال قيمة في حقل: تاريخ_الى"
  me.Date_To.setfocus
  exit sub
endif


    Dim stDocName As String
    stDocName = "rpt_Monthly"
    DoCmd.OpenReport stDocName, acViewPreview

Exit_cmd_Print_Preview_Click:
    Exit Sub
err_cmd_Print_Preview_Click:

    if err.number=2465 then
        msgbox "هناك احد الحقول فارغة، والتي يحتاج الى قيمته الكود، رجاء تعبئتها ثم النقر على الزر مرة اخرى"
        Resume Exit_cmd_Print_Preview_Click

    elseIf Err.Number = 3070 Then
        MsgBox "احد الحقول مصدر بياناته غير صحيح"
        Resume Exit_cmd_Print_Preview_Click

    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If

End Sub

.

وهنا مثال آخر

.

2.

عند وضع رقم الخطأ في نهاية الكود ، فاننا نتحكم في الرسالة التي نريد ان نجعل المستخدم يراها (لاحظ السطر if err.number = 2465 والاسطر التي تليه)

 

ويمكنك ايضا اصطياد الخطأ بهذه الطريقة:

.

وفي حالات قليلة ، وجدا ضيقة (مثل زر للإنتقال الى السجل السابق او التالي) نستعمل on error resume next ، والتي معناها لا تجعلني ارى اي رسالة خطأ ،

 

ولكن في حالتنا ، واذا لم نرى رسالة الخطأ ، فلن نعرف لماذا برنامجنا لا يعطي النتائج الصحيحة ، او حتى لماذا لا يفتح التقرير !!

 

جعفر

 

  • Like 2
رابط هذا التعليق
شارك

الرسالة تأتيك ، لأن المرفق الجديد الذي ارسلته لك في موضوعك الآخر ، عملت فيه هذا الحقل ،

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

 

6 دقائق مضت, monm said:

ولكن ماذا لو أردت اغلاق تقرير لعدم تحقق الشرط

هممم ، سؤال يحتاج الى مزيد من الايضاح ، حتى يكون له معنى 🙂

 

جعفر

رابط هذا التعليق
شارك

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