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

جداول مدرسية وتوزيع آلي للمواد والحصص للمعلمين


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

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

Dim i, sf, mrhla, sfofco, sfof(20) As String
Dim tb1 As Recordset
Dim tb2 As Recordset
Dim tb3 As Recordset
Dim tb4 As Recordset

Set tb1 = CurrentDb.OpenRecordset("teacher class", dbOpenDynaset)
Set tb2 = CurrentDb.OpenRecordset("الفصل", dbOpenDynaset)
Set tb3 = CurrentDb.OpenRecordset("بيانات  المادة", dbOpenDynaset)
Set tb4 = CurrentDb.OpenRecordset("بيانات المعلم", dbOpenDynaset)

If tb3.RecordCount <> 0 Then
 tb3.MoveFirst
 Do While tb3.EOF = False
  tb3.Delete
  tb3.MoveNext
 Loop
End If

If tb4.RecordCount <> 0 Then
 tb4.MoveFirst
 Do While tb4.EOF = False
  tb4.Delete
  tb4.MoveNext
 Loop
End If

tb2.MoveFirst
sfofco = 1
sfof(1) = tb2![الصف]
mrhla = tb2![المرحلة]
Do While tb2.EOF = False
  If mrhla <> tb2![المرحلة] Then
   sfofco = sfofco + 1
   sfof(sfofco) = tb2![الصف]
   mrhla = tb2![المرحلة]
  End If
 tb2.MoveNext
Loop

'_____________________
For sf = 1 To sfofco
tb1.MoveFirst
 Do While tb1.EOF = False
  For i = 3 To 100 Step 2
   If tb1.Fields(i) = sfof(sf) Then
    tb2.FindFirst "[الصف] = " & "'" & sfof(sf) & "'"
    tb3.FindFirst "[الصف]=" & tb2![المرحلة] & " and [المادة] = '" & tb1.Fields(i + 1) & "'"
    If tb3.NoMatch = True Then
        tb3.AddNew
        tb3![الصف] = tb2![المرحلة]
        tb3![المادة] = tb1.Fields(i + 1)
        tb3![عدد الحصص] = 1
        tb3.Update
    Else
        tb3.Edit
        tb3![عدد الحصص] = tb3![عدد الحصص] + 1
        tb3.Update
    End If
   End If
  Next i
  tb1.MoveNext
 Loop
Next sf

'_____________________
tb1.MoveFirst
 Do While tb1.EOF = False
  For i = 3 To 100 Step 2
    tb4.FindFirst "[الفصل]='" & tb1.Fields(i) & "'" & " and [المادة] = '" & tb1.Fields(i + 1) & "'" & "and [رقم] =" & tb1.Fields(0)
    If tb4.NoMatch = True And IsNull(tb1.Fields(i)) = False Then
        tb4.AddNew
        tb4![رقم] = tb1.Fields(0)
        tb4![اسم المعلم] = tb1.Fields(1)
        tb4![الفصل] = tb1.Fields(i)
        tb4![المادة] = tb1.Fields(i + 1)
        tb2.FindFirst "[الصف]='" & tb1.Fields(i) & "'"
        tb4![الصف] = tb2![المرحلة]
        tb4.Update
    Else
    End If
  Next i
   tb1.MoveNext
 Loop
End Function

 

     

رابط هذا التعليق
شارك

اخي الكريم حمدي الكود الذي لديك هو للتوزيع التلقائي للحصص والمواد للمدرسين على الفصول خلال الاسبوع ... في البداية لديك تعريف للمتغيرات التي سوف يتم استخدامها في الكود وهي : بالنسبة للمتغيرات من tb1 الى tb4 فهي لتعريف جداول البيانات التي سيتم العمل عليها

Dim i, sf, mrhla, sfofco, sfof(20) As String
Dim tb1 As Recordset
Dim tb2 As Recordset
Dim tb3 As Recordset
Dim tb4 As Recordset

وبعدها لديك كود يقوم باسناد اسماء الجداول الى المتغيرات tb1 الى tb4 .. يعني ان tb1 هو الجدول teacher class والجدول tb2 هو جدول الفصل .. الخ

Set tb1 = CurrentDb.OpenRecordset("teacher class", dbOpenDynaset)
Set tb2 = CurrentDb.OpenRecordset("الفصل", dbOpenDynaset)
Set tb3 = CurrentDb.OpenRecordset("بيانات  المادة", dbOpenDynaset)
Set tb4 = CurrentDb.OpenRecordset("بيانات المعلم", dbOpenDynaset)

الكود بعد ذلك يقوم بالتأكد من احتواء جدولي tb3 و tb4 على بيانات .. فإن وجد فيهن بيانات عندها سيقوم بحذفها كلها .. الكود المسؤول عن هذه العملية هو 

If tb3.RecordCount <> 0 Then
 tb3.MoveFirst
 Do While tb3.EOF = False
  tb3.Delete
  tb3.MoveNext
 Loop
End If

If tb4.RecordCount <> 0 Then
 tb4.MoveFirst
 Do While tb4.EOF = False
  tb4.Delete
  tb4.MoveNext
 Loop
End If

بعد ذلك يتم حساب الصفوف والمراحل بالجدول 2 عن طريق هذا الكود 

tb2.MoveFirst
sfofco = 1
sfof(1) = tb2![الصف]
mrhla = tb2![المرحلة]
Do While tb2.EOF = False
  If mrhla <> tb2![المرحلة] Then
   sfofco = sfofco + 1
   sfof(sfofco) = tb2![الصف]
   mrhla = tb2![المرحلة]
  End If
 tb2.MoveNext
Loop

بعد ذلك يتم توزيع الصفوف والمراحل وعدد الحصص على عدد ايام الاسبوع في جدول بيانات المادة في الكود التالي

For sf = 1 To sfofco
tb1.MoveFirst
 Do While tb1.EOF = False
  For i = 3 To 100 Step 2
   If tb1.Fields(i) = sfof(sf) Then
    tb2.FindFirst "[الصف] = " & "'" & sfof(sf) & "'"
    tb3.FindFirst "[الصف]=" & tb2![المرحلة] & " and [المادة] = '" & tb1.Fields(i + 1) & "'"
    If tb3.NoMatch = True Then
        tb3.AddNew
        tb3![الصف] = tb2![المرحلة]
        tb3![المادة] = tb1.Fields(i + 1)
        tb3![عدد الحصص] = 1
        tb3.Update
    Else
        tb3.Edit
        tb3![عدد الحصص] = tb3![عدد الحصص] + 1
        tb3.Update
    End If
   End If
  Next i
  tb1.MoveNext
 Loop
Next sf

واخيراً يتم توزيع المعلمين على ايام الاسبوع وعلى حسب المواد التي لديهم في الجدول عن طريق الكود التالي 

tb1.MoveFirst
 Do While tb1.EOF = False
  For i = 3 To 100 Step 2
    tb4.FindFirst "[الفصل]='" & tb1.Fields(i) & "'" & " and [المادة] = '" & tb1.Fields(i + 1) & "'" & "and [رقم] =" & tb1.Fields(0)
    If tb4.NoMatch = True And IsNull(tb1.Fields(i)) = False Then
        tb4.AddNew
        tb4![رقم] = tb1.Fields(0)
        tb4![اسم المعلم] = tb1.Fields(1)
        tb4![الفصل] = tb1.Fields(i)
        tb4![المادة] = tb1.Fields(i + 1)
        tb2.FindFirst "[الصف]='" & tb1.Fields(i) & "'"
        tb4![الصف] = tb2![المرحلة]
        tb4.Update
    Else
    End If
  Next i
   tb1.MoveNext
 Loop

ارجو ان يكون الشرح واضح .. اعتذر عن عدم تمكني من التفصيل اكثر لضيق الوقت ولان الكود طويل نوعا ما فارجو السماح

 

  • Like 1
رابط هذا التعليق
شارك

بارك الله فيك أستاذ sandanet على الشرح ياريت أعضاء المنتدى و الخبراء ينتهجون هذ الطرح بشرح الأكواد و لما لا عمل قسم تشرح فيه الأكواد حتى تعم الفائدة بالخصوص هناك نقص في تناول لغة vba access و شكرا مرة أخرى

رابط هذا التعليق
شارك

الفاضل استاذ sandanet
اشكرك على الشرح وبما ان حضرتك من المهتمين بالبرنامج منذ ان عرضه فأتمنى ان ننهيه سويا وانا ضفت عليه الكثير من الامكانيات وقد حصلت على هذا الكود بعد تعب وعناء ليتحقق التوزيع التلقائى ولكن ينقصه بعض الشئ وهو ان يحسب الحصص المتتالية حصتين
كما اريد ان يوزع عدد حصص يومية محددة لكل معلم بمعنى ان نصاب المدرس 25 حصة تنقسم على 5 ايام فيكون نصيب كل يوم 5 حتى لا يتم توزيع 6 او 7 حصص فى اليوم وجارى التجربة على الكود اتمنى ان انجح فى ذلك شكرا لك ولكل من يساهم فى هذا المشروع

رابط هذا التعليق
شارك

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

تحياتي

  • Like 1
رابط هذا التعليق
شارك

جارى العمل فى البرنامج للانتهاء منه بعد اضافة الكثير سواء توزيع يدوي او اليا وبعد الانتهاء سوف اقوم بشرح البرنامج فيديو وملف واشكرك على تشجيعك واهتمتمك ولك تحياتى

رابط هذا التعليق
شارك

اخوتى الأفاضل استاذ حمدى واستاذ  sandanet 

                                            تحياتى لشخصكما 

أولا :- هذه الوحدة النمطية خاصة بزر الأمر رقم 18 فى نموذج Class Information الموجود بالبرنامج الذى تعمل به وهو بعنوان تحديث كما تفضل بشرحها  الأستاذ / على

ثانيا لقد قمت بالتجربة مرات عديدة وقد توصلت الى التالى

الوحدة النمطية رقم 1 

بها Function TSFERTABLE  خاصة بمسح البيانات  الجدول لاحظ بعد كده

()Public Function MAKEIT

Public Function RECORDHSA(MOALEM As Recordset, mada As Recordset, TABLE As Recordset)
 

دول المسئولين عن التوزيع  

بيوزع معلم ومادة فى  TABLE الجدول وهو نسخه من teacher class

هو وزع معايا تجربة كده على الصف الأول بس عملت التجربة بطريقة بدائية شويه دخلت على الوحدة النمطية دى وضغت على زر f8 بدأ يمسك من المعلم الفصل ومن المادة المادة وعمل loop  بس وقف لغاية الحصة الخامسة معرفتش اترجم عدد حصص اليوم ازاى اللى اعلن يا ريت يشرحها لنا اخيينا الأستاذ / على 

لنعرف بعدها الية عمل 

()Public Function hlaltath

ثم 

Public Function tbdelhss(tb As Recordset, tbimage As Recordset, i As Integer, B As Integer, E As Integer)
 الخاصة بتبديل الحصصحمدى الظابط.rar

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

 

رابط هذا التعليق
شارك

استاذ خالد حضرتك بتقول
هو وزع معايا تجربة كده على الصف الأول بس عملت التجربة بطريقة بدائية شويه دخلت على الوحدة النمطية دى وضغت على زر f8 بدأ يمسك من المعلم الفصل ومن المادة المادة وعمل loop  بس وقف لغاية الحصة الخامسة
-------------------------------------
انا جربت وحاولت وعدلت لم اصل لعملية التوزيع الالى ممكن اعرف ازاى اضغط على   f8   لتشعيل الوحدة النمطية وحاول تمسح البيانات ودخلها تانى مع تغير عدد الحصص مع العلم انا لاحظت ان البرنامج موزع يوم السبت مع العلم ان يوم السبت غير موجود بالجدول ايام الاسبوع جرب وقولى النتيجة ولك تحياتى

تم تعديل بواسطه حمدى الظابط
رابط هذا التعليق
شارك

استاذ / حمدى 

السلام عليكم ورحمة الله 

نعم أنا قلت أنى عملت تجربة على الصف الأول بمدرستى وهو يشمل 8 فصول من 1/1 حتى 8/1 وزع تمام التمام بعد ما غيرت جزء صغير فى الوحدة النمطية التى أشرت لك عليها وهى

If ADDHSSALWM < 5 Then

غيرتها ب 

If ADDHSSALWM < 8 Then

وشوفت النتيجة فهمت انه وزع الحصص لكل مدرس و الوحدة النمطية المسئول عن التوزيع ده

()Public Function MAKEIT

(Public Function RECORDHSA(MOALEM As Recordset, mada As Recordset, TABLE As Recordset

حلو الكلام بعد ماخلص وجدت التوزيع كله تضارب يعنى ممكن 1/1 عندك وعندى ومعظم التوزيع كده شوفت كمان ملاحظه انه لم يراعى الحصص المتتالية وممكن العربى او الحساب الحصة الثامنة كمان

عرفت انى لازم اكمل باقى الوحدة النمطية اللى بعدها  وهى 

()Public Function hlaltath

(Public Function tbdelhss(TB As Recordset, tbimage As Recordset, I As Integer, B As Integer, E As Integer

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

بس عدد الحصص فى اليوم  مش تمام يعنى ممكن يسيب حصة فاضيه فى نص يوم مثلا طبعا هو وزع الخطة اللى فى جدول كل معلم يعنى خطة  الصف الأول 32 حصة مثلا وهو عنده اقل من 8 يعنى ممكن 7 أو 6 

الطريقة اللى انا قلت عنها بتاعة (f8) عشان تشوف بنفسك ادخل على الوحدة النمطية وظلل السطر الأول منها
()Public Function MAKEIT

ثم اضغط (f8) ستجد لون التظليل الأزرق تحول الى أصفر استمر بالضغط وشاهد عمل الكود من البداية حتى النهاية بس نصيحة جربه عل فصلين الأول بكل موادهم ومدرسينهم عشان ما ياخدش معاك وقت طويل ولا تنسى استمر للنهاية 

بخصوص الأيام 

الأيام الوحدة النمطية المسئولة عن دخوها فى جدول (Ashgal) هى اسمها (Ashgall)  غير فيها لو مش عاوز السبت وخليها كده

 Tb2.AddNew
  "السبت"=(Tb2.Fields(0) 
 
 

"الاحد" = ( Tb2.Fields(0
   Tb2.Update
   Tb2.AddNew
   
  "الاثنين" = (Tb2.Fields(0) 
   Tb2.Update
   Tb2.AddNew

"الثلاثاء" =  ( Tb2.Fields(0) 
   Tb2.Update
   Tb2.AddNew

   "الاربعاء" =(Tb2.Fields(0) 
   Tb2.Update
   Tb2.AddNew
   
   "الخميس" =(Tb2.Fields(0) 
   Tb2.Update

سوف تجد الأيام نزلت فى جدول اشغال تقريبا انت شايله ومسميه عندك الأيام تقريبا طبعا شغلت الوحدة النمطية بنفس الطريقة لغاية لما نشوف طريقة لاستدعاء الوحدة النمطية عن طريق زر أمر فى نموذج بقى لك ان تعلم بقية عمل الوحدة النمطية على قدر ما فهمت  انها تبحث عن حصص الإشغال وتسجل اسم المعلم فى جدول اسمه (TAshgal) 

اخيرا ارجو ان تكون الأمور اتضحت لك 

والآن احاول ايجاد مخرج لعدد الحصص لليوم والصف

 تقبل تحياتى  

رابط هذا التعليق
شارك

المحترم استاذ خالد عبد الغفار
لم افلح فى عملية التوزيع التلقائى سواء بزر امر او عن طريق f8 علما بانى عملت النصاب القانونى للحصص والمواد
ولكن هناك بعض الالغاز التى يجب ان نفكها
- ماذا لو  بعض حصص ايام الاسبوع اقل من 8 حصص والبعض الاخر 8 حصص
- كما نريد ان نعطى نصاب الحصص اليومية لكل مدرس يوميا بمعنى ان لايزيد كل مدرس عن 4 او 5 حصص يوميا
- كذلك الحصص المتتالية يجب ان يكو حصتان بعدهم حصه فارغة
سوف اصمم لك نموذج يعطى عدد حصص اليوم لكل مدرس وكذلك عدد حصص اليوم لكل مرحلة حتى يتم التحكم فى توزيع عدد الحصص اليومية والاسبوعية 
اشكرك على المساعدة واتمنى مشاركة الاخوة الافاضل معنا للانتهاء من هذا العمل الذى يحتاجة الجميع على اكمل وجه


 

رابط هذا التعليق
شارك

 استاذ ى الراقى

sandanet


اولا يجب تحديد المواد الدراسية للمراحل المختلفة لانها تحتلف من مرحله الى مرحلة وعدد حصصها
ثانيا تحديد المدرس ومادته وعدد الحصص الاسبوعية واحيانا لظروف تخص المدرس عدم اعطائه الحصص الاولى او الاخيرة

ثالثا اذا كانت الحصص متتالية اى حصتين بعدهم على الاقل حصة فارغة او حصتين مع مراعات ان تكون الحصص الاساسية لاتزيد عن 5 او 6 حصص على الاكثر  فى اليوم


 

 

رابط هذا التعليق
شارك

اخى الفاضل حمدى 

السلام عليكم ورحمة الله                           

 كلام مضبوط وده اللى قلته فى المشاركة الأولى sandanet / أولا كلام الأخ الفاضل

خصوصا وكل منا يجد صعوبة فى كتابة الكود او ترجمته فكيف سيساعدنا وهو غير ملم حتى الآن بآلية عمل البرنامج

عموما انت غيرت فى الجداول والنماذج فلا بأس ولكن انا قلت لك من الأول أن عملية التوزيع معقدة ولها جزء آخر مستتر 

مثل علاقة المعلم بالأيام وعلاقة الصفوف بعدد الحصص يعنى المدرس خالد مثلا بيعمل كام يوم وبيدرس الصف السادس مثلا الصف ده ليه كام حصه يوم الأحد وكام حصه يوم الاثنين وهكذا  

 

سوف اضع قاعدة البيانات السابقة وبها  عدد 8 فصول هى للصف الأول وسأقوم بتوزيعهم وعارف مقدما زى ما قلت لك ان الحصص ملغبطة وغير

متتاليه المهم انه يوزع اولا بدون تضارب وهنا يأتى  دور

sandanet / استاذنا 

ليكمل النموذج الذى سوف يكون باسم نموذج 1 ليضع زر امر يستدعى عمل الوحدة النمطية 

 تفضلا المرفق وشاهدا عرض وطباعة جميع جداول الصفوف

من نموذج

Class Information

ثم شاهدا المطلوب بنموذج 1 

 

معذرة حجم الملف كبير بقالى فتره باحاول حجم الملف كبير

والله ما زلت احاول حتى الآن دون فائدة

رابط هذا التعليق
شارك

Database9.rar

هذا المرفق الذى اعمل عليه شاهد التقرير عدد حصص الصف الأول 32 حصه 

مطلوب تفعيل زر التوزيع

فى نموذج 1 زر مسح بيانات الجدول

ثم وزع ثم امر 7 بييضبط التضارب

 

 

رابط هذا التعليق
شارك

اخى الفاضل / sandane

                                   السلام عليكم 

نعم يعمل ووزع معايا الخطة تمام لكن هناك ضوابط لم يراعيها ارجو أن تساعدنا فى حلها والتغلب على بعض الصعوبات سوف اوجزها لك رويدا رويدا 

رقم 1 - من جدول بيانات المادة بالنظر فيه سوف تجد ان عدد الحصص الأسبوعية للمادة 3 حصص وفى خانة هل حصص المادة متتالية نعم او لا

نود اضافة جزء فى الوحدة النمطية تشير الى اذا كانت هل عدد الحصص متتاليه صواب يوزع حصتين وراء بعضهما والحصة الثالثة تكون فى يوم غير هذا اليوم او يكون بينهم فرق 10 أو 15 حصة يعنى لو حقل الفصل I وحقل المادة I + 1 فى هذه الحالة (المتتالية ) يكون حصتين عبارة عن I و I + 2

والثالثة بعدهم ب 10 او 15 I زى ما قلنا

طيب ولو عدد حصص المادة 2 مثل الألعاب أو 6 مثل الرياضيات  أو 12 مثل العربى نضع لهم شرط بجدول بيانات المادة فى خانة الحصة الأخيرة للمادة فعلى سبيل المثال 

الألعاب اقصى حصة للمادة 4 والرياضيات 5 واللغة العربية مثلا 6 تقولى امال مين اللى هيدخل الحصص السابعة أو الثامنة لو وجدت المواد اللى مفيش امامها رقم فى خانة اقصى حصة للمادة

وأنا معاك واحدة واحدة لو عندك استفسار ولو فى جزءغير واضح فى الجزء ده من البرنامج  مش  واضحه بالنسبة لك تحت امرك من البداية قبل ما أنزل باقى الجداول والنماذج واحدة واحدة ونستفيد منه كلنا

                                                                 تقبل تحياتى 

 

 

رابط هذا التعليق
شارك

اخي الكريم خالد في الدالة التالية

Public Function RECORDHSA(MOALEM As Recordset, mada As Recordset, TABLE As Recordset)
Dim i, m
Dim TSGELHSA
Dim B, E
Dim ADDHSSOK As String
Dim ADDHSSALWM
'___________________________
For m = 1 To mada![عدد الحصص]
    TSGELHSA = "no"
    If m = 1 Or m = 6 Or m = 12 Or m = 17 Or m = 22 Or m = 27 Then
      B = 3
      E = 15
    Else
      B = B + 16
      E = E + 16
    End If

في المعادلة B = B + 16 و E = E + 16 السؤال هو ماهي قيم B و E الابتدائية لكي يتم جمعها مع 16؟؟

رابط هذا التعليق
شارك

اخى الفاضل / sandane

                                  مساء الخير 

لاحظ باقى الفانكيشن

Do While TSGELHSA = "NO"
    ADDHSSALWM = 0
    For i = B To E Step 2
     ADDHSSALWM = ADDHSSALWM + IIf(TABLE.Fields(i) = " ", 0, 1)
    Next i
    If ADDHSSALWM < 8 Then                                                                                                 
     ADDHSSOK = "OK"
    Else
     ADDHSSOK = "NO"
    End If

    For i = B To E Step 2

تقريبا المقصود بها عدد الحصص لليوم لسبب لما نقول عدد الحصص من الحقول 3 : 15 يبقى عدد الحصص بداية الحقل 3 هى الحصة الأولى مثلا 1/1 والحقل 4 هو المادة عربى مثلا يبقى عدد الحصص ما بين (B)،(E) هو 7 حصص     If ADDHSSALWM < 8 Then 

وده على قدر ما فهمت لأنه كانت فى البداية < 5

ساعتها عرفت اول ما وزع معايا كان بيوصل لغاية لحصة الخامسة فقط عشان كده جعلتها 8 بدل 5 فوزع لغاية الحصة السابعة وهى بالفعل اقل من 8

ده على قدر علمى المحدود 


 

رابط هذا التعليق
شارك

عفوا نسيت من الإجهاد اقولك معنى كمان وهو مرتبط بالأيام لأن البرنامج الأصلى كان فيه يوم السبت بيبدأ من الحقل 3 هو كان بيقصد لو مفيش يوم أول يعنى السبت زود على كل حقل 16 لما تقسمهم على 2 فصل ومادة يبقوا 8 حصص ويبدأ من حقل 19 أنا حزفت السبت وزودت الخميس وبكده بدأ الحصة الأولى من حقل 3 ويمشى لغاية حقل 82 أخر ماده يوم الخميس

ثانيا

طوال النهار وحتى عودتى من عملى وانا ابحث عن حل لمشكلة عدد الحصص فى اليوم فهدانى تفكيرى الى ما يلى

عدد حصص اليوم تختلف من صف لآخر بمعنى 

الصف الأول على سبيل المثال لديه يوم الأحد 7 حصص ويوم الإثنين 7 حصص وباقى أيام الأسبوع 6 حصص ومن هنا نجد ان لكل فصل من الفصول التابعة للصف الأول لها 32 حصة فى الأسبوع كما شرحتها

ومثل الصف الأول الصف الثانى والثالث

ولكن يختلف عنهم الصف الرابع 

له يوم الأحد 7 حصص والإثنين 7 حصص وباقى الأسبوع 8 حصص بحسبة بسيطة نجد ان مجموع الحصص فى الأسبوع 36 حصة بزيادة 6 حصص عن الصفوف من الأول الى الثالث لذلك وجدت انه لابد من عمل جدول مثل بيانات المادة بس هيكون ببيانات الصفوف يكون عبارة عن 3 حقول

الصف                                 اليوم                                 عدد حصص اليوم

الصف الأول                             1                                        7

الصف الأول                             2                                        7

الصف الأول                             3                                         6

الصف الأول                             4                                          6

الصف الأول                              5                                         6

وهكذا  باقى الصفوف ومن هذا الجدول نقدر ناخد عدد حصص اليوم للفصول المرتبطة بكل صف  وبكده نلغى موضوع اقل من 8 ونتغلب على ضبط عدد حصص اليوم لكل فصل وفى الحالة دى نقول ان عدد حصص اليوميبقى من 1 : عدد حصص اليوم لو وصلتك الفكرة واعتقد أنها اسلم حل اعمل جدول واضيفه خصوصا وانه معرف الأيام من 1 : 5

                                                      دمت بخير أشاهد ردك فى الصباح إن أحيانى الله  تقبل تحياتى

 

 


 

رابط هذا التعليق
شارك

الاخوات الافاضل استاذ خالد والاستاذ sandanet

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

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


 

 

الجدول.rar

رابط هذا التعليق
شارك

استاذ حمدى / مساء الخير 

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

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

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

ممكن نلاقى لسه عدد حصص اليوم مش ضابط معانا نضيف جدول بيانات الصف ونعلن عن متغير باسم الجدول ده وطبيعى عدد الأيام  معلن عنها بانها من 1 : 5  ثم أن عدد الأيام ليها وحده نمطيه اسمها إشغال بنفس اسم الجدول أنا قلت عليها وبيعد فيها كمان حصص الإشغال وينزل اسم المدرس فى جدول أنا جربتها على نموذج السحب والإ فلات على كام مدرس كده لقيته تمام

ودى مستخدمه فى جدول العرف بس انا عملتها بشكل تانى من نموذج كان لدى من عمل الأستاذه (أم عهود ) بارك الله فيها

                                             وننتظر رد الأستاذ/ sandane

تقبل تحياتى

عفوا على خطأ كتابة الإسم اخى  sandanet

  • Thanks 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