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

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

قام بنشر

لاحظ ان تخلفات الطلاب إذا كانت 30 يوم منفصلة يفصل الطالب ولكن إذا غاب 15 يوم متصلة يفصل الطالب

السجل الثانى التجميع الكلى كان 30 وبالتالى إذا كان العدد 30 يكتب (فصل) 

السجل الثالث به المشكلة  الاعداد متصلة وعددها  15 مفروض  يكتب (فصل ) كيف يتم ذلك 

الغياب_(3).accdb

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

السلام عليكم 

عزيزي اضفت حقل جديد باسم سنة جنب حقل شهر اكتب سنة مناسبة  لحقل شهر،  مثلا يناير من سنة 2018 ام من 2019، وجعلت ادخال شهور من قائمة منسدلة لتجنب اختلاف في اسماء شهور.

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

ملحوظة: سبب حقل سنة لمعرفة عدد ايام شهر قبل حساب غياب متتالي ليس كما في نموذج او جدول جميع شهور 31 يوما على سبيل مثال لو غاب الطالب تاريخ 27،26،25 من شهر فبراير و من 1 الى 12 من شهر مارس هذا يعتر 15 يوم غياب متتالي ولكن اصفار في 29 و 30 و 31 الموجود في شهر فبراير يعني حضور!! و يقطع تسلسل غياب لهذا سبب علينا تكوين تاريخ، سنته من حقل سنة و شهره من شهر و يومه واحد، ثم  برمجة حساب غياب متتالي ينتقل الى 1 مارس بعد 28 من فبراير مباشرا و تجاهل اصفار 29 و 30 و 31  و هكذا

 

الغياب_(3).zip

 

تم تعديل بواسطه ابو عارف
قام بنشر

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

اخي العزيز اليك قاعدتين مختلفتين اذا اردت تجربة تسجيل غياب لا تسجل من خلال جدول بل من خلال نموذج لانني وجدت تسجيل غياب في ملف امس ليوم 31 نوفمبر حين شهر نوفمبر 30 يوم.

و  لمنع تكرار تلك الخطاء قمت باضافة كود للايام 29،30،31 شهر لقبول تسجيل غياب حسب ايام شهر فقط.

TowDatabase.zip

 

  • Like 1
قام بنشر

شكرا كثيرا للأخ العزيز ابو عارف 

فعلا اصبح المطلوب صحيح واكرر الشكر

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

 

قام بنشر
11 ساعات مضت, monm said:

شكرا كثيرا للأخ العزيز ابو عارف 

شكر لله

11 ساعات مضت, monm said:

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

حاضر ساشرح الكود بقدر مسنطاع رغم  انني لا استحسن شروحات بشكل مطلوب

rst.recordset معروف هو مجموعة سجلات جدول absent على معايير محددة

(0)rst ارجاع قيمة الموجودة في عمود الاول مجموعة سجلات و (1)rst في عمود الثاني و هكذا

MonthNum = rst!shaher

تعين قيمة متغير MonthNum هو قيمة حقل الشهر علما بان غيرت تنسيق حقل الشهر من نص الى رقم

Dt = DateSerial(rst!YR, MonthNum, 1)

تعين قيمة متغير Dt تاريخ، سنة من حقل YR و شهر من shaher و يوم 1

EachMonth = DateDiff("d", Dt, DateAdd("m", 1, Dt))

تعين قيمة متغير EachMonth حساب عدد ايام بين DT و DT+شهر، مثلا 1/سبتمبر/2018 و 1/اكتوبر/2018

For i = 1 To EachMonth

حلقات تكرار متغير  (i) حسب عدد ايام شهر تبدء من 1 لان عمود 0 "NUm" لا علاقة لنا به

If rst(i) > 0 Then

اذا كان قيمة عمود الثاني اي اول يوم الشهر اكثر من 0 ، 

AbsCount = AbsCount + rst(i)

القيمه يجمع مع متغير AbsCount  (هنا يحسب غياب متواصل) و الا ، يقرأ قيمة AbsCount اذا وصلت اكثر او يساوي 15 يقوم بوضع القيمة في مربع نص اسفل نموذج ثم Exit Sub و اذا كان اقل من 15 ، يغير قيمة AbsCount الى 0 ثم ينتقل  الى عمود الثاني و هكذا حتى آخر شهر و حلقة تكرارية الاخيرة لـ i 

ثم ينتقل الى سجل التالي حتى نهاية مجموعة سجلات.

 

 

 

 

  • Like 1
  • 2 weeks later...
قام بنشر

صديقى العزيز ابو عارف 

تم العمل على الملف لفترة كبيرة ولكن الاكسس خذلنى 

اليك ملف اكسيل تم عمل المطلوب به 

فهل يمكن عمل ذلك فى الاكسس

غياب-الطلاب1.xls

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