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

مشكلة فى كود vba


إذهب إلى أفضل إجابة Solved by Foksh,

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

ارجو المساعدة حيث لدى كود زر حذف لا يعمل لا اعلم ما السبب

Private Sub del_Click()
On Error Resume Next

If MsgBox("سوف يقوم البرنامج بحذف بيانات العميل هل توافق علي ذلك", vbYesNo) = vbYes Then

DoCmd.SetWarnings False

DoCmd.RunCommand acCmdDeleteRecord

DoCmd.SetWarnings True
End If
End Sub

 

تم تعديل بواسطه figo82eg
رابط هذا التعليق
شارك

أخي الكريم ،،
جملة الحذف تبدو صحيحة ولا تحتوي على مشكلة ، ولكن قد يكون هناك معوقات أخرى غير معروفة وليست في الكود . لذا ارسل ملفك لرؤيته ومعرفة السبب والتعديل عليه

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

استاذى الكريم @Foksh شكرا على ردك واهتمامك ولكنى لاحظت عند حذف سطر

If MsgBox("سوف يقوم البرنامج بحذف بيانات العميل هل توافق علي ذلك", vbYesNo) = vbYes Then

الكود اشتغل بدون مشاكل فما السبب رغم ان الكود كامل يعمل على اكسس 2003 بدون مشاكل وعند تحويل الملف لنظام اكسس 2010 الكود وقف عن العمل

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

13 دقائق مضت, figo82eg said:

الكود اشتغل بدون مشاكل فما السبب رغم ان الكود كامل يعمل على اكسس 2003 بدون مشاكل وعند تحويل الملف لنظام اكسس 2010 الكود وقف عن العمل

حسناً ، جرب هذا التعديل لنفس الوظيفة بفكرة مختلفة ؟؟

 

Private Sub del_Click()
    On Error GoTo ErrorHandler
    Dim response As VbMsgBoxResult
    response = MsgBox("سوف يقوم البرنامج بحذف بيانات العميل هل توافق علي ذلك", vbYesNo)
    If response = vbYes Then
        DoCmd.SetWarnings False
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.SetWarnings True
        MsgBox "تم حذف السجل بنجاح.", vbInformation
    End If
    Exit Sub
ErrorHandler:
    MsgBox "حدث خطأ أثناء محاولة حذف السجل: " & Err.Description, vbCritical
    DoCmd.SetWarnings True
End Sub

 

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

اسف لم يعمل الكود إلا بعد حذف

response = MsgBox("سوف يقوم البرنامج بحذف بيانات العميل هل توافق علي ذلك", vbYesNo)
    If response = vbYes Then

مشكلة غريبة اول مرة تقابلنى ولا اعلم السبب هل ممكن ان تكون نسخة اوفيس

تم تعديل بواسطه figo82eg
رابط هذا التعليق
شارك

ارسل ملفك أخي الكريم ، ولكن جرب اعمل ضغط وإصلاح لقاعدة البيانات !!!!

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

مشكلة غريبة اول مرة تقابلنى ولا اعلم السبب هل ممكن ان تكون نسخة اوفيس

 

وهلا وضحت السطر التالي :

 

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

اسف لم يعمل الكود إلا بعد حذف :excl:

تم تعديل بواسطه Foksh
رابط هذا التعليق
شارك

منذ ساعه, Foksh said:

اسف لم يعمل الكود إلا بعد حذف :excl:

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

و لم يعمل معى إلا بعد حذف هذا الجزء من الكود

response = MsgBox("سوف يقوم البرنامج بحذف بيانات العميل هل توافق علي ذلك", vbYesNo) If response = vbYes Then

فعمل طبيعى وحذف السجل.

تم تعديل بواسطه figo82eg
رابط هذا التعليق
شارك

  • أفضل إجابة

امممم ، حسناً

في بعض الأحيان لاحظت أن معظم إصدارات أوفيس التي يكون فيها خلل ناتج عن التحديث أو التحميل .... الخ تحتوي خطأ في VBA عند أكواد عشوائية ( حسب منطقة الخلل ) . على العموم جرب إكمال الجملة الشرطية بوضع Else

    If response = vbYes Then
        DoCmd.SetWarnings False
        DoCmd.RunCommand acCmdDeleteRecord
        DoCmd.SetWarnings True
        MsgBox "تم حذف السجل بنجاح.", vbInformation
	else
		DoCmd.CancelEvent
    End If

 

تم تعديل بواسطه Foksh
رابط هذا التعليق
شارك

11 دقائق مضت, figo82eg said:

شكرا لحضرتك استاذى الكريم تم عمل الكود بعد وضع else

 

الحمد لله الذي علّمنا من علمه ، وما أوتينا من العلم إلا قليلا 🥰

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information