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

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

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

اللهم بارك لنا في شعبان وبلغنا رمضان

فلنكن أكثر احترافية

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

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

رفعت لكم القاعدة بتعديلات كما استخدمتها في الفحص حتى لا أكون عرضة "للاتهامات" بالتلاعب بالنتائج.

قمت قبل بدء عمل أي شفرة بعد فتح النموذج بالذهاب إلى آخر سجل ثم العودة إلى أول سجل وعمل Maximize وأحيانا أكررها عندما أشعر أن النظام لا يزال يقوم بتجهيزاته، ثم أذهب إلى الصفحة التي تحوي السجل مئة للتأكد من اختفاء العلامة وتبديل قيمة السجل 99.

أرجع للجدول لفحص نتائج حقل
y_n وهل تمت بنجاح.

ملاحظات:

- شفرتي وشفرة الأستاذ جعفر هي نفسها تماما عدا عبارة واحدة في البداية لتحديث السجل قبل تشغيل عبارة الـ sql فلذلك ليس هناك فرقا يذكر وكان المفترض أن استبعد أحدهما في المقارنة.
- شفرة الأستاذ أبو عارف، عند تبديل قيمة السجل 99 تحتفظ بقيمة السجل 100 وربما بسبب "الحدث" وطريق حفظ السجل، لذلك تم استبعادها، وكذلك حتى لو تم إصلاح الخلل فلن يكون أداؤها سريعا لأن عبارة التحديث لكل السجلات.
- شفرة الأستاذ فوكش لا تقوم بتحديث الحقل، لذلك تم استبعادها.
- شفرتا الأستاذين خليفة وأبوجود مشكلتهما في عدم قيامهما بالفلترة قبل التحديث.


توصيات:

- لا بد من عمل الفلترة قبل التحديث الجماعي لتسريع المعالجة.
- يفضل عمل فهرس للحقول التي يتم فيها البحث والفلترة للتسريع أيضا.
- مستغرب أن شفرتي أبوجود وخليفة أعطتا وقتا أطول مع الحقل المفهرس، وهذه تحتاج إلى تحليل ودراسة.
 

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

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

اخوي ابو احمد شكرا جزيلا لك على هذا التحليل ،

ولكن عندي اضافة :

فكرة تحديث جميع البيانات الى 0 كانت بسبب فكرة اخونا الشايب ، ولكن للاختيار بين السجلات ، فيجب ان يكون عندنا كود محلي ، اي بمعنى آخر ، يجب عمل كود لتحديث الكل في اول اختيار ، ومنها فيجب ان يكون هناك كود آخر للتنقل العادي.

 

اخوي ابو عارف:

CurrentDb.Execute تعمل مع الاصدارات القديمة للاكسس ، ولكن مشكلتها انها لا تعطيك رسالة الخطأ (اذا كان فيه خطأ) ، فتعتقد انها لا تعمل!! والخطأ الذي حدث لمعظم الاكواد اعلاه ، هو في تحديث سجل مقفل (السجل الذي عليه حقل y_n الحالي).

و كود "Do While Rc > 0" يكون جدا بطيء في العمل على سجلات التجربة بمئات الألاف او اكثر.

 

واعتقد بهذه النتائج ، اصبح لدى اخونا abofayez1 عدة خيارات يختار منها ما يناسبه.

 

ويا ابو احمد ، اذا لقيت صورتي في بريدك ، فمو شرط معناه اني زعلان من ان كودي طلع الثاني في اختباراتك :biggrin:

 

جعفر

 

  • Thanks 1
  • Haha 1
قام بنشر

احبتي الكرام ابحرتم كثيرا

واخرجتم لنا نوادر من درر هذا البحر ..

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

لأن خانة الخيار  الاصل فيها ان تحمل قيمة تميز السجل .. وليست وسيطة شرطية لتنفيذ حدث

أرى .. منطقيا وبرمجيا : البحث عن فكرة اخرى  لتحقيق الشرط

  • Like 1
قام بنشر

الاصل في مثل هذا الحدث ان يتم على نموذج مفرد والتعامل مع سجل واحد ، من اجل تمرير قيمة او عملية محددة  .

وغالبا هذا ما يسعى اليه صاحب الموضوع .

اعتراضي او قل : وجهة نظري .. انه من غير المنطق ان اقوم بتحديث 10 آلاف سجل أو اكثر عند كل عملية اجريها على سجل واحد والتي قد تتكرر في الدقيقة مرات عديدة .

قد اخترع مصطلح لتسمية مثل هذه الاجراءات واسميه بــــــــ  الاعتداء البرمجي :mad:

  • Haha 1
قام بنشر
25 دقائق مضت, ابوخليل said:

الاعتداء البرمجي

😬 Grimacing Face

 

اتفق مع فكرتك ، لهذا السبب قلت:

15 ساعات مضت, jjafferr said:

ولكن للاختيار بين السجلات ، فيجب ان يكون عندنا كود محلي ، اي بمعنى آخر ، يجب عمل كود لتحديث الكل في اول اختيار ، ومنها فيجب ان يكون هناك كود آخر للتنقل العادي.

 

 

https://emojis.wiki/telegram/

قام بنشر
6 ساعات مضت, ابوخليل said:

وغالبا هذا ما يسعى اليه صاحب الموضوع

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

علما بان السائل وجد مبتغاه في الرد الثامن واختار الاجابة المناسبه له وبقية النقاشات كانت عن تداعيات استخدام الامر وفقا للمثال المرفق من قبل السائل

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

اما بشأن

6 ساعات مضت, ابوخليل said:

قد اخترع مصطلح لتسمية مثل هذه الاجراءات واسميه بــــــــ  الاعتداء البرمجي :mad:

فنوعدكم ان نكون اكثر حرصا في المواضيع القادمة .

تحياتي

  • Haha 1
قام بنشر
5 ساعات مضت, شايب 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