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

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

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

أخي الكريم @أحمد عمروف ، تفضل هذا التعديل على التوزيع الشفوي و توزيع اللياقة في زرين منفصلين ، التوزيع الشفهي حسب ما فهمت منك سيكون بتاريخ 31/05/2025 ، واللياقة افترضت تاريخ 10/06/2025 للتجربة ، على العموم ، راقب النتيجة في الجدولين وأخبرني بمدى دقتها أو صحتها أم لا !!!!

أستاذنا الكبير
بعد التحية والسلام عليكم ورحمة الله وبركاته
والله لا كلمات شكر توفيكم حقكم
في الحقيقية توزيع الطلاب في جدول الشفوي ممتاز وأكثر من رائع
ولكن .. في ملاحظة أنا غفلت عنها أثناء عرضي للمطلوب
وهي ..
أن جميع الصفوف ستبدأ الشفوي في نفس اليوم 31/5/2025
وبالتالي يكون
Day_Shafawe يبدأ لجميع الصفوف برقم 1
وأيضا
Magmoaa ستبدأ لجميع الصفوف برقم 1

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


آخر استفسار مشكورا .. هل ممكن جعل حقل Day_Shafawe رقميا بدلا من كونه نص
وأيضا
Magmoaa
كل التقدير والشكر لسعادتك .. مع خالص تقديري واحترامي ؛؛؛

Capture.JPG

قام بنشر
17 ساعات مضت, أحمد عمروف said:

أن جميع الصفوف ستبدأ الشفوي في نفس اليوم 31/5/2025

جميع الصفوف ( للمدرسة الواحدة أو جميع المدارس ) ستبدأ في يوم واحد للشفهي ؟؟؟؟؟

17 ساعات مضت, أحمد عمروف said:

وبالتالي يكون Day_Shafawe يبدأ لجميع الصفوف برقم 1

وأيضا Magmoaa ستبدأ لجميع الصفوف برقم 1

بحاجة للتوضيح أكثر ,,

 

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

 

بانتظار شرحك أكثر لكل النقاط والإحتمالات ( لتلافي الوقوع في مطبات سابقة في مواضيع مختلفة لعدم شرح المطلوب بشكل واضح ) ..

:wub:

 

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

جميع الصفوف ( للمدرسة الواحدة أو جميع المدارس ) ستبدأ في يوم واحد للشفهي ؟؟؟؟؟

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

5 ساعات مضت, Foksh said:

وأيضا Magmoaa ستبدأ لجميع الصفوف برقم 1

نعم .. كل المجموعات لأي صف ستبدأ برقم 1
مع خالص تقديري وشكري لسعادتك

 

5 ساعات مضت, Foksh said:

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

تمام جدا إن شاء الله تعالى

قام بنشر (معدل)
في 30‏/4‏/2025 at 23:12, أحمد عمروف said:

مراعاة سعة قاعات كل صف

أخي أحمد ، هل هذا المثال صحيح :-

 

مثال توضيحي لو كانت :

Cou_Stu = 45 (عدد الطلاب).

Seaa_Kaa_Shafawe = 20 (سعة القاعة).

فسيتوزعون كالآتي :

الجلسة 1 : 20 طالب (صباحي)

الجلسة 2 : 20 طالب (مسائي)

اليوم التالي :

الجلسة 3 : 5 طلاب (صباحي فقط)

 

استخدم هذا التعديل في دالة التوزيع الشفهي ، وطابقها مع حساباتك ومتطلباتك ان كانت صحيحة

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim rsInsert As DAO.Recordset
    Dim sql As String
    Dim GroupNo As Long
    Dim DateCounter As Date
    Dim DayCounter As Long
    Dim Period As String
    Dim StudentLeft As Long
    Dim MaxPerSession As Long
    Dim StudentsThisSession As Long

    Set db = CurrentDb

    ' جلب جميع الصفوف لجميع المدارس بترتيب واضح
    sql = "SELECT * FROM Tb_Cou_Stu ORDER BY ID_School_B, ID_Room_B"
    Set rs = db.OpenRecordset(sql, dbOpenSnapshot)
    Set rsInsert = db.OpenRecordset("Tb_Tawze_Shafawe", dbOpenDynaset)

    Do Until rs.EOF
        ' بدء التوزيع من اليوم المحدد لكل صف بشكل مستقل
        DateCounter = StartDate
        DayCounter = 1
        GroupNo = 1

        StudentLeft = rs!Cou_Stu
        MaxPerSession = rs!Seaa_Kaa_Shafawe

        Do While StudentLeft > 0
            ' تجاوز الجمعة
            Do While Weekday(DateCounter, vbSaturday) = 6
                DateCounter = DateAdd("d", 1, DateCounter)
                DayCounter = DayCounter + 1
            Loop

            ' جلسة صباحية
            StudentsThisSession = IIf(StudentLeft >= MaxPerSession, MaxPerSession, StudentLeft)
            rsInsert.AddNew
            rsInsert!ID_School_C = rs!ID_School_B
            rsInsert!ID_Room_C = rs!ID_Room_B
            rsInsert!Date_Shafawe = DateCounter
            rsInsert!Day_Shafawe = DayCounter
            rsInsert!S_M = "صباحي"
            rsInsert!Magmoaa = GroupNo
            rsInsert!Cou_Stu_Shafawe = StudentsThisSession
            rsInsert.Update

            StudentLeft = StudentLeft - StudentsThisSession
            GroupNo = GroupNo + 1

            ' جلسة مسائية (إن تبقى طلاب)
            If StudentLeft > 0 Then
                StudentsThisSession = IIf(StudentLeft >= MaxPerSession, MaxPerSession, StudentLeft)
                rsInsert.AddNew
                rsInsert!ID_School_C = rs!ID_School_B
                rsInsert!ID_Room_C = rs!ID_Room_B
                rsInsert!Date_Shafawe = DateCounter
                rsInsert!Day_Shafawe = DayCounter
                rsInsert!S_M = "مسائي"
                rsInsert!Magmoaa = GroupNo
                rsInsert!Cou_Stu_Shafawe = StudentsThisSession
                rsInsert.Update

                StudentLeft = StudentLeft - StudentsThisSession
                GroupNo = GroupNo + 1
            End If

            ' الانتقال لليوم التالي
            DateCounter = DateAdd("d", 1, DateCounter)
            DayCounter = DayCounter + 1
        Loop

        rs.MoveNext
    Loop

    rs.Close: rsInsert.Close
    Set rs = Nothing: Set rsInsert = Nothing: Set db = Nothing

    MsgBox "تم توزيع جلسات الشفوي لجميع الصفوف بشكل صحيح", vbInformation + vbMsgBoxRight, "نجاح"

مسألة الصباحي والمسائي لم أطبقها حالياً ، فهي ليست ذات علاقة بآلية التوزيع في الوقت الحالي ,

تم تعديل بواسطه Foksh
قام بنشر (معدل)
2 ساعات مضت, Foksh said:

أخي أحمد ، هل هذا المثال صحيح :-

السلام عليكم ورحمة الله وبركاته
وحياكم الله وبياكم ؛؛؛
نعم المثال صحيح تماما

 

تم تعديل بواسطه أحمد عمروف
  • تمت الإجابة
قام بنشر
2 ساعات مضت, Foksh said:

استخدم هذا التعديل في دالة التوزيع الشفهي ، وطابقها مع حساباتك ومتطلباتك ان كانت صحيحة

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

قام بنشر
12 ساعات مضت, أحمد عمروف 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