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

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

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

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

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

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

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

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

قمت قبل بدء عمل أي شفرة بعد فتح النموذج بالذهاب إلى آخر سجل ثم العودة إلى أول سجل وعمل 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
قام بنشر

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

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

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

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

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

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