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

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

قام بنشر

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

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

 

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

قام بنشر
  في 22‏/4‏/2025 at 13:43, Foksh said:

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

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

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

Expand  

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

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

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

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

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

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

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

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

 

Database65.rarFetching info...

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

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

قام بنشر
  في 22‏/4‏/2025 at 14:17, ابوخليل said:

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

 

Expand  

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

  في 22‏/4‏/2025 at 14:17, ابوخليل said:

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

 

Expand  

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

فكرة بسيطة

Animation1.gif.7fd5955388adfbcd6df6ec5aecbcb383.gif

قام بنشر

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

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

قام بنشر
  في 22‏/4‏/2025 at 14:39, Foksh said:

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

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

 

Expand  

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

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

 

قام بنشر
  في 22‏/4‏/2025 at 17:46, ابوخليل said:

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

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

 

Expand  

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

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

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

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

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

 

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

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

 

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

قام بنشر

 

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

  في 22‏/4‏/2025 at 14:17, ابوخليل said:

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

 

Expand  

 

قام بنشر

تمام

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

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

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

......

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

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

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

 

  • Like 1
قام بنشر

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

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

  • Like 1
قام بنشر

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

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

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

 

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

  • Thanks 1
قام بنشر
  في 22‏/4‏/2025 at 18:45, ابوخليل said:

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

Expand  

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

قام بنشر

اخي الكريم @Foksh

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

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

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

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

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

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

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

Database67.rarFetching info...

قام بنشر

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

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

  • Like 1
قام بنشر
  في 23‏/4‏/2025 at 06:39, ابوخليل said:

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

 

Expand  

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

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

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

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

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

قام بنشر

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

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

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

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

قام بنشر

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

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

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

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

السؤال :

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

هل هذا صحيح ؟؟

 

 

قام بنشر (معدل)
  في 23‏/4‏/2025 at 06:58, Foksh said:

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

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

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

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

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

Expand  

توضيحاً لفكرتي الغير مكتملة للفصل الثاني ، في الاستعلام 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.zipFetching info...

تم تعديل بواسطه 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