اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

الله يعطيك العافية أستاذنا @ابوخليل ، عمل جميل جداً ومجهود واضح يستحق التقدير ,,

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

 

هو مجرد رأي طبعاً في النهاية :rol: .

قام بنشر
39 دقائق مضت, Foksh said:

الله يعطيك العافية أستاذنا @ابوخليل ، عمل جميل جداً ومجهود واضح يستحق التقدير ,,

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

هو مجرد رأي طبعاً في النهاية :rol: .

رأيك صحيح في محله ، وانا جاء على بالي هذا الشيء

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

ولكننا سنرى لاحقا هل نضع الدور الثاني في زر يخصه افضل ام لا .

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

لو تم ابعاد هذه الدالة لن تشعر بعملية الالحاق ابدا .

لأني جربت الحاق النصف الثاني فقط لوحده للصفوف الأولية وظهر هذا التأخر

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

المرفق التالي اضفت لمسة بسيطة لمن يعد النتيجة عند النقر على الزر تظهر كلمة انتظر .. 

 

Database65.rar

الأخ الكريم سعد

عند تحديث او اضافة درجات لأي صف او طالب يجب اعداد النتيجة من جديد .. والا لن تظهر البيانات الجديدة في التقارير

قام بنشر
1 دقيقه مضت, ابوخليل said:

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

 

صدقت تماماً :yes: ..

20 دقائق مضت, ابوخليل said:

لو تم ابعاد هذه الدالة لن تشعر بعملية الالحاق ابدا .

 

لم لا نحصل على عدد ايام الحضور بطريقة تعتمد على الجدول المؤقت بدلاً من الاستعلامات !!!!!

فكرة بسيطة

Animation1.gif.7fd5955388adfbcd6df6ec5aecbcb383.gif

قام بنشر

شكرا أخي الفاضل هذه الفكرة تغنينا عن دالة التحقق من الحضور ؟؟

وكيف نطبقها ؟ وما وما رأي الأب الفاضل فيها ؟

قام بنشر
3 ساعات مضت, Foksh said:

صدقت تماماً :yes: ..

لم لا نحصل على عدد ايام الحضور بطريقة تعتمد على الجدول المؤقت بدلاً من الاستعلامات !!!!!

 

كيف ؟ وجهني بارك الله فيك

المهم ان الصورة اعجبتني جدا .. اريد الكود الذي استجاب للظهور المباشر

 

قام بنشر
8 دقائق مضت, ابوخليل said:

كيف ؟ وجهني بارك الله فيك

المهم ان الصورة اعجبتني جدا .. اريد الكود الذي استجاب للظهور المباشر

 

العفو منك يا معلمي ،، أنا أتعلم منك ومن خطاك صدقني ،، ولكن لنفكر بصوت عالٍ قليلاً قبل خروجي من العمل ,,

في الجدول المؤقت وبعد إعداد النتيجة ، سينتج تقريباً 2250 سجل ( صحيح ؟ )

لو جأنا لفلترة الحقول بحيث :-

الفصل الأول ، الصفوف الدنيا ، الصف الأول ، الذكور ، الحالة = غ فأن عدد السجلات سيكون في الجدول 92 سجل ، بينما عند فتح التقرير وفي مربع الإخصاء للبنون = 93 .
وكذلك الأمر بالنسبة للبنات حيث النتيجة في الجدول 89 ، وفي التقرير = 90 .

وفي الجدول عند الفرز للفصل الثاني كانت النتيجة = البنون 92 في الجدول وفي التقرير = 93 ، وللبنات في الجدول = 89 وفي التقرير = 90

 

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

وعليه نستطيع باستخدام Dcount في مصدر بيانات مربعات النص جلب العدد الذي نريده دون أي دوال في الاستعلامات ..

 

هذه فكرتي وملاحظاتي التي لا تقلل من جهدكم وعملكم .. 

قام بنشر

 

وكي لا أكون قد فهمت بشكل متسرع كعادتي في نهاية اليوم 😅 ، هل ما قمت بتوضيحه صحيح أو أنني اتحدث في الغرب وملاحظاتكم في الشرق بخصوص هذه الجزئية :-

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

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

 

 

قام بنشر

تمام

للعلم : الغياب يسجل ويحتسب في النصف الثاني فقط  للصفوف الاولية  في الحقل total

ايضا نحن نتعامل مع نوعين من الاستعلامات تم دمجهما .. استعلام تجميعي + استعلام جدولي

دالة الحضور في الاستعلام التجميعي ... تأخذ العدد  من استعلام ثالث qry_master

......

فكرتك جميلة .. ويدعمها ان الحضور يدخل مرة واحدة في الفصل الثاني ، لذا  الفكرة الجديدة ان نوجد مكانا للدرجة غير جدول الدرجات

ممكن يكون في جدول الاسماء .. يتم تحديثه كل سنة

وتبعا لذلك يتم ازالة الحضور من جدول المواد

 

  • Like 1
قام بنشر

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

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

  • Like 1
قام بنشر

ايضا من المعوقات لو لاحظت في جميع الاستعلامات التجميعية اعمل حجب لمادة الحضور

يعني في الاول والاخير احتساب الحضور كمادة هو سبب المشاكل وازيدك من الشعر بيت اذا ازلناه من المواد سوف نختصر الاستعلامات الجدولية الى 2 بدلا من 3

لأن الثالث صنعناه من اجل عيون الحضور   :blink:

 

جزاك الله خيرا .. مداخلتك فتحت لنا آفاقا .. فتح الله لك ابواب الرزق

  • Thanks 1
قام بنشر
2 ساعات مضت, ابوخليل said:

جزاك الله خيرا .. مداخلتك فتحت لنا آفاقا .. فتح الله لك ابواب الرزق

نسأل الله أن يمد في عمركم ، وأن يرزقكم الصحة والعافية ، ويسعدني كثيراً أن أترك انطباعاً له دلالة كبيرة على طيبكم ومنبعكم :wub: 

قام بنشر

اخي الكريم @Foksh

تم ادراج ايام الحضور في جدول الطلاب ( فقط الصفوف الاولية للنصف الثاني)

تم اعداد وضبط درجات الطلاب للفصلين الدراسيين حسب الشروط والمعطيات المطلوبة والنتيجة ممتازة 100%

مشكلة التأخر لا زالت موجودة رغم  اني فصلت النصف الأول عن النصف الثاني

يوجد استعلامان : Query1  و  Query2  الاول للنصف الأول والثاني للنصف الثاني

هذان الاستعلامان هما اللذان سيتم الحاقهما بالجدول tbl_Temp

الاستعلام Query1 اظن انه يفتح عادي ولا يوجد تأخر يذكر

تكرما اطلع على هذين الاستعلامين خاصة Query2  .. اتمنى تكتشف سبباً لهذا التأخر

Database67.rar

قام بنشر

هل الدالة iif  هي السبب ؟

علما انها مستخدمة في الاستعلام  qry_master  بنفس الوظيفة بالضبط ولم يظهر فرق في السرعة

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

هل الدالة iif  هي السبب ؟

 

اعتقد هي فعلاً السبب

استخدام الدالة IIF داخل GROUP BY هو السبب الأكبر ..

شو رأيك أول شي نعمل استعلام تجميعي مبسط بدون دوال ، وبعدين نعمل استعلام نهائي لحساب الدوال من الجدول المؤقت

طبعاً هنا رايحين نحسب cntRsob1 , cntRsob2 , alnesbah1 , tgyeem1 , و hala1 بسرعة أكبر من خلال الجدول المؤقت 🙄 

برضو ما زلت بفكر بصوت عالي ، ولكن هو احد الإحتمالات

قام بنشر

طيب انا اتساءل ؟ عمليا ما المشكلة ان يتم الاعداد خلال 5 ثوان ؟

علما انه غالبا سيتم الاعداد مرة واحدة خلال السنة الدراسية

وسيتم تخصيص زر لكل فصل دراسي وزر ثالث للدور الثاني

صاحب الموضوع يهمه هذا الأمر

قام بنشر

طيب عندي سؤال قد سألتك من قبل ولكن احب اتأكد

عندنا النصف الاول .. الذي هو  اختبار الدرجة + الاعمال = مجموع1  ... وهذا مطبق على الكل ( الألوان معتمدة على مجموع1)

النصف الثاني عندنا : مجموع2  الذي يمثل اختبار الدرجة + الأعمال ..

وعندنا حقل total الذي يمثل (مجموع1 + مجموع2) مقسوم على 2  .... وهذا حاليا مطبق على الكل ( الألوان معتمدة على total) على اعتبار النصف الثاني هو الدور الأول

السؤال :

كأني فهمت منك سابقا ان الصفوف الأولية في النصف الثاني تعامل على اساس درجات النصف الثاني فقط  .. من غير اعتبار لدرجات النصف الأول .. بمعنى ان الألون تعتمد على حقل مجموع 2 فقط

هل هذا صحيح ؟؟

 

 

قام بنشر (معدل)
13 ساعات مضت, Foksh said:

اعتقد هي فعلاً السبب

استخدام الدالة IIF داخل GROUP BY هو السبب الأكبر ..

شو رأيك أول شي نعمل استعلام تجميعي مبسط بدون دوال ، وبعدين نعمل استعلام نهائي لحساب الدوال من الجدول المؤقت

طبعاً هنا رايحين نحسب cntRsob1 , cntRsob2 , alnesbah1 , tgyeem1 , و hala1 بسرعة أكبر من خلال الجدول المؤقت 🙄 

برضو ما زلت بفكر بصوت عالي ، ولكن هو احد الإحتمالات

توضيحاً لفكرتي الغير مكتملة للفصل الثاني ، في الاستعلام qry_Temp_term2_Optimized =

SELECT qry_Base_Term2_Data.id_student, 2 AS term_Num, qry_Base_Term2_Data.alsaf_Id, qry_Base_Term2_Data.gender1, qry_Base_Term2_Data.hodor, qry_Base_Term2_Data.Darajh, qry_Base_Term2_Data.mada2, qry_Base_Term2_Data.total1, IIf([mada2]<funLwoNesbhTotal(),1,0) AS cntRsob1, IIf([hodor]<funLwoHodor(),1,0) AS cntRsob2, funNesbah([total1],[Darajh]) AS alnesbah1, funTgyemResult_B([total1],[Darajh],[cntRsob1]) AS tgyeem1, IIf([safType]='1',
        funResult_A2([total1],[Darajh],[cntRsob1],[cntRsob2],[gender1]),
        funResult_B([total1],[Darajh],[cntRsob1],[gender1])
    ) AS hala1
FROM qry_Base_Term2_Data;

المبني على الاستعلام qry_Base_Term2_Data =

SELECT qry_master.id_student, qry_master.alsaf_Id, qry_master.safType, qry_master.gender AS gender1, Tbl_student.hodor, Tbl_materil_Detail.rmz, Tbl_materil_Detail.rmz2, Sum(Tbl_materil_Detail.Darajh) AS Darajh, Sum(qry_master.mada2) AS mada2, Sum(qry_master.total) AS total1
FROM (Tbl_materil_Detail INNER JOIN qry_master ON (Tbl_materil_Detail.saf_No = qry_master.alsaf_Id) AND (Tbl_materil_Detail.mada_Drjh = qry_master.mada_Drjh) AND (Tbl_materil_Detail.mat_NO = qry_master.madaNum)) INNER JOIN Tbl_student ON qry_master.id_student = Tbl_student.id_student
WHERE Tbl_materil_Detail.rmz = 1 AND 
    Tbl_materil_Detail.rmz2 = 1
GROUP BY qry_master.id_student, qry_master.alsaf_Id, qry_master.safType, qry_master.gender, Tbl_student.hodor, Tbl_materil_Detail.rmz, Tbl_materil_Detail.rmz2;

 

طبعاً لم أكمل تلافياً لحدوث تغييرات مستقبلية ، وتوقفت بناءً على ملاحظاتكم أستاذي @ابوخليل ، بعد أن اصابني الصداع 🤯 من قراءة تسلسل الإستعلامات السابقة لتقريب المسافة الزمنية ..

 

 

Database68.zip

تم تعديل بواسطه Foksh

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