الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

*فورم* " تغيير رسائل الخطا المبنية في الاكسس برسائل خاصة

مغلق
بدأه ابوهاني في 7 نوفمبر 2001 · 12 رد · 5,189 مشاهدة · في قسم الأرشيف و المواضيع المميزه
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

تحية طيبة الى اعضاء هذا المنتدى الطيب

في الحقيقة يمكنك تغيير رسائل الخطأ المبنية في الاكسس برسائل خاصة وبكل سهولة ويسر " ترى الاكسس دمه خفيف"

وهذه ابسط مما تتصورون

عند حدث OnError للنموذج يمكنك الغاء جميع الرسائل المبنية في الاكسس وذلك باسناد القيمة صفر الى المتغير Response ويمكنك ادراج رسالتك الخاصة وذلك بعد معرفة رقم الخطأ وتمكنك هذه الدالة من بناء جدول كامل للاخطاء في الاكسس " كل خطأ مع رقمه "

ويمكنك بعد بعد ذلك كتابة رسالتك بناءاً على الخطأ الحاصل

الدالة :

Function AccessAndJetErrorsTable() As Boolean

    Dim dbs As Database, tdf As TableDef, fld As Field

    Dim RST As Recordset, lngCode As Long

    Dim strAccessErr As String

    Const conAppObjectError = "Application-defined or object-defined error"



    On Error GoTo Error_AccessAndJetErrorsTable

    ' Create Errors table with ErrorNumber and ErrorDescription fields.

    Set dbs = CurrentDb

    Set tdf = dbs.CreateTableDef("AccessAndJetErrors")

    Set fld = tdf.CreateField("ErrorCode", dbLong)



    tdf.Fields.Append fld

    Set fld = tdf.CreateField("ErrorString", dbMemo)

    tdf.Fields.Append fld



    dbs.TableDefs.Append tdf

    ' Open recordset on Errors table.

    Set RST = dbs.OpenRecordset("AccessAndJetErrors")

    ' Loop through error codes.

    For lngCode = 0 To 3500

        On Error Resume Next

        ' Raise each error.

        strAccessErr = AccessError(lngCode)

        DoCmd.Hourglass True

        ' Skip error numbers without associated strings.

        If strAccessErr <> "" Then



            ' Skip codes that generate application or object-defined errors.

            If strAccessErr <> conAppObjectError Then

                ' Add each error code and string to Errors table.

                RST.AddNew

                RST!ErrorCode = lngCode

                ' Append string to memo field.

                RST!ErrorString.AppendChunk strAccessErr

                RST.Update

            End If

        End If

    Next lngCode

    ' Close recordset.

    RST.Close

    DoCmd.Hourglass False

    RefreshDatabaseWindow

    MsgBox "Access and Jet errors table created."



    AccessAndJetErrorsTable = True



Exit_AccessAndJetErrorsTable:

    Exit Function



Error_AccessAndJetErrorsTable:

    MsgBox Err & ": " & Err.Description

    AccessAndJetErrorsTable = False

    Resume Exit_AccessAndJetErrorsTable

End Function

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

Private Sub Form_Error(DataErr As Integer, Response As Integer)

On Error Resume Next



If DataErr = 3022 Then

MsgBox "هذا الصنف مكرر في نفس الفاتورة لنفس المستودع فضلاً عدل الصنف في نفس سطره ... أو اضغط Esc للتراجع . "

DoCmd.GoToControl "B"

GoTo TheEnd

End If





If DataErr = 3314 Then

MsgBox "لم تكتب رقم الصنف"

DoCmd.GoToControl "C"

GoTo TheEnd

End If





If MyErr = 1 And DataErr = 2113 Then

MsgBox "يجب ان تكون الكمية رقماً"

End If





If MyErr = 2 And DataErr = 2113 Then

MsgBox "يجب ان يكون السعر رقماً"

End If



If DataErr = 3317 Then

MsgBox "يجب ان تكون الكمية اكبر من صفر ."

DoCmd.GoToControl "E"

End If



If MyErr = 3 Then

MsgBox "يجب ان لاتزيد عدد احرف الملاحظات عن 255 حرف كحد أقصى"

End If

TheEnd:

 Response = acDataErrContinue



End Sub

ارجو ان يكون شرحي وافيا .... واذا استصعب عليكم شي فانا في الخدمة

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

#2

الأخ أبو هاني :

ومشاركة منى فى موضوعك إليكم هذا الملف الذي يحتوى على أخطاء أكسيس إبتداء من الإصدار 2 وحتى الإصدار 2000 . ولكن يا حلو نريد واحد شاطر يقوم بترجمة الخطأ . ما رأيك

أشرف خليل

http://mypage.ayna.com/ashrafk/ERR2000.zip

#3

*- أشكرك أخي أبو هاني على هذه المعلومات

*- الأخ أشرف - بعد الشكر

الظاهر إني لابد أن احمل اكسس2000

لكن الى ما عنده ماذا سيفعل

مع أنه سبق الإقتراح

http://arabteam.nicmatic.com/vb/showthread...p?threadid=5179

------------------وما توفيقي إلا بالله--------------------

إذا كنت بالله مستعصما---------فماذا يضيرك كيد العبيد

#4

الأخ أبوهاني

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

لي سؤال مافائدة الدالة الأولى التي ذكرتها ؟

ولك تحياتي

#5

اخي ابو حمود

اشكر لك اهتمامك ...

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

كل خطأ مع رقمه ...

ويمكنك تنفيذ هذه الدالة اما من داخل الوحدة النمطية عندما يكون المؤشر داخل الدالة او استدعائة من أي مكان

مثلا عند ضغط الزر لكائن في نموذج معين..... ومثلك لا يخفى عليه ذلك

تحياتي

#6

مشكور أخوي ابوهاني على التوضيح والله يعطيك العافية .

ولك تحياتي

#7

جهدكم مبارك .. ممكن تضع الكود اللي ذكرته في مثال ليستفيد منه الجميع .

زادك الله علماً ، ونفع الله بك وبعلمك . وشكراً .

#8

الذي أرفقه مشرفنا الغالي أشرف خليل مشكورا

#9

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

#10

الأخ الكريم حارث

نفذ الدالة الأولى وسوف تنتج لك جدولاً بجميع أخطاء الأكسس

لقد نفذتها وكانت النتيجة جدول فيه حوالي 1300 خطأ

أخوك / أبو هاجر

#11

وأعتذر حيث لم أقرأ موضوع أبو هاني جيدا ، فقد كنت أبحث عن موضوع أشرف الذي أذكره ، وما خطر في بالي أن كود الأخ أبو هاني لإنشاء جدول .

وقد أمضيت البارحة كلها أحاول إنشاء هذا الجدول بنفسي ، وكان الكود أمامي.

أخي العزيز فهد :

كما قال الأخ أبو هاجر : نفذ الكود الأول باستدعائه من زر أمر مثلا ، ثم اطلع على الجدول الذي يتم إنشاؤه لتعرف رقم الخطأ وعبارته ، ثم يمكنك حينئذ التعامل مع هذه الأخطاء بعبارات من عندك بدلا من العبارات المضمنة في الأكسس لهذه الأخطاء ، بالضبط كما عملت أنت في أحد أمثلتك مع زر الانتقال للسجل السابق أو التالي حيث وضعت عبارة "خلاص وينك رايح له"

أما الكود الثاني فهو مثال لكيفية التعامل مع الأخطاء الحاصلة أثناء تشغيل نموذج ويتم وضعه في حدث عند الخطأ في خصائص النموذج . طبعا ينبغي أن تعدله ليتناسب مع الأخطاء التي تتوقعها أثناء عمل المستخدم في هذا النموذج .

#12

مثال الكود الأول

errortable.zip

1
#13

بارك الله فيك أخوي حارث دائماً سباق لفعل الخير

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…