الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تسجيل قيمة عددية في حقل بناءا على حقل التاريخ

بدأه سلامنا لكم في 20 يناير 2013 · 7 رد · 794 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اعضاء ومشرفين

لدي قاعدة بيانات لتسجيل الغياب

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

الغياب الفرعي AbscenDelay

مااريدةساوضحه بممثال

بناءا على جدول الحصص

عندما يظهر الطالب بالشعبة 6A يوم الاربعاء يسجل الرقم 1 في حقل الحصة

عندما يظهر الطالب بالشعبة 6B يوم الاربعاء يسجل الرقم 3 في حقل الحصة

عندما يظهر الطالب بالشعبة 6c يوم الاربعاء يسجل الرقم 5 في حقل الحصة

وهناك حصة اخرى للصف 6C وهي الحصة 7

وهكذا لبقية الايام

وجدول الحصص موضح في القاعدة وسارفقة ايضا بملف اكسل

وارجو التوضيح عند تعديل الملف

ومشكوريين

schedule.rar

تم تعديل هذه المشاركة بواسطة سلامنا لكم في 20 يناير 2013 في 23:25

#2

السلام عليكم

هذه القاعدة

Test3.rar

تم تعديل هذه المشاركة بواسطة سلامنا لكم في 20 يناير 2013 في 23:16

#3

سبحان الله والحمد لله ولا اله الا الله والله اكبر

#4

تفضل اخي الكريم : سلامنا لكم

 

ملفك بعد التعديل بناء على طلبك

 

 

post-15367-0-76668300-1358870520_thumb.g

 

 

طريقة الحل :

1. تم انشاء جدول اكسيل جديد فارغ مشابه تماما لجدول الغياب وتم وضعه بجانية كما في الصوره

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

 

 

=IF(D5="6A";1;IF(D5="6B";3; IF(D5="6C";5;"")))
=IF(E5="6A";1;IF(E5="6B";3; IF(E5="6C";5;"")))
=IF(F5="6A";1;IF(F5="6B";3; IF(F5="6C";5;"")))
=IF(G5="6A";1;IF(G5="6B";3; IF(G5="6C";5;"")))
=IF(H5="6A";1;IF(H5="6B";3; IF(H5="6C";5;"")))  
=IF(I5="6A";1;IF(I5="6B";3; IF(I5="6C";5;""))) 
=IF(J5="6A";1;IF(J5="6B";3; IF(J5="6C";5;"")))
 
ابتداء من الخلية 5 وحتى الخلية 9  ( راجع الخلايا في الجدول الثاني المقابل )
 
سؤال :
لماذا لم نضع مباشرة النتيجة في الجدول الأول ؟
 
الإجابة : لأنه لايمكن استخدام دالة IF مباشرة في جدول البيانات حيث سيعطينا خطأ المرجع الدائري والذي لا يمكن ان يكون للبيانات ان تعطي في نفس الوقت النتيحة .
لذا استخدمنا الجدول الأول لكتابة البيانات والجدول الثاني لعرض النتائج . ولهذا عندما نقوم بكتابة اي بيانات في الجدول الأول فإن النتيجة سوف تتغير مباشرة في الجدول الثاني لأن الجدول الثامي معتمد اعتمادا كليا على ما يتم ادخاله في الجدول الأول .
 
 
 

 

بالتوفيق

#5

السلام عليكم

جزاك الله خير استاذتنا ام عهود 

وانا اقدر تعبك على عملية ملئ الخلايا

لكن انا ردت الحل في الاكسس وليس فى الاكسل

 بمعنى عندما اختار طالب من الكمبو بوكس ستترحل بياناته 

الى النموذج الفرعي

وستظهر الشعبة والتاريخ تلقائي وهو اليوم

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

في الجدول الفرعي

فمثلا اليوم  وهو الثلاثاء فعند اختيار الطالب من الكمبو بوكس 

عندما يظهر الطالب بالشعبة 6A يوم الثلاثاء يسجل الرقم 1 في حقل الحصة
عندما يظهر الطالب بالشعبة 6B يوم 
 الثلاثاء يسجل الرقم 6 في حقل الحصة
عندما يظهر الطالب بالشعبة 6c يوم 
 الثلاثاء يسجل الرقم 3 في حقل الحصة
وهكذا لبقية الايام

ومشكورة

تم تعديل هذه المشاركة بواسطة سلامنا لكم في 22 يناير 2013 في 20:22

#6

تفضل اخي الكريم

 

post-15367-0-85563200-1358879098_thumb.g

 

بعد اختيار اسم الطالب سيتم تحديث الحصة حسب الشعبة الخاصة به حسب الكود التالي :

 

Private Sub StName_AfterUpdate()
Select Case Me.StName.Column(1)
Case Is = "6A"
Me.Xperiod = 1
 
Case Is = "6B"
Me.Xperiod = 3
 
Case Is = "6C"
Me.Xperiod = 5
 
End Select
End Sub

za-Test3-UP.rar

#7

السلام عليكم

شكرا استاذتنا الكبيرة على تتبع الموضوع

واريد اسال عن معنى 

Me.StName.Column(1)

 

لي ملاحظات

1) الجدول الفرعي يجب ان يعرض اسم طالب واحد فقط وهو الموجود في النموذج الرئيسي.

2) انا اخترت طالب من الكمبو بوكس في الجدول الرئيسي وظهر في الجدول الفرعي ولم تسجل له حصة .

3) الكود مبني فقط على الصف ولم يبنى على ايام الاسبوع كاملة حسب الجدول المرفق سابقا

لذلك اختلط جدول الاربعاء وجدول الثلاثاء

ولك الشكر والتقدير

تم تعديل هذه المشاركة بواسطة سلامنا لكم في 22 يناير 2013 في 22:15

#8

السلام عليكم

اخواني الاعضاء والمشرفين

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

وهي رمز الطالب واسم الطالب  والشعبة والتاريخ تلقائي هو اليوم

مااريدة هو تسجيل تلقائي (الي) لحقل الحصة( Period )

 برقم  بناءا على اسم اليوم (ايام الاسبوع وليس التاريخ)

 مثلما تم  ترحيل بيانات الطالب مباشرة

وياريت يكون بكود بحدث بعد تحديث الكمبو بوكس في النموذج الرئيسي

ومرفق صورة عن الجدول 

يوضح عملية التسجيل

ومشكورين

 

post-252239-0-00392700-1359152802_thumb.

Test3.rar

تم تعديل هذه المشاركة بواسطة سلامنا لكم في 26 يناير 2013 في 01:34

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…