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

النسبة المئوية !

مغلق
بدأه ahmed_tr في 1 سبتمبر 2005 · 3 رد · 666 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أولا السلام عليكم جميعا

عندي جدول يحتوي على

........................

اسم الطالب

مادة1 8

مادة2

مادة3 9

مادة4

المعدل 8.5

.........................

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

ولا أريد أن تحتسب الموادة الفارغة لإنها تنقص المعدل ولكنها تبقى فارغة وليس صفر 0 !!!

أرجوا بأن يكون طلبي هذا واضحا ولكم جزيل الشكر.

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

#2

جرب هذا المثال البسيط

علما بانك تحتاج الى تغيير معادلة الحصول على المعدل بالطريقة التي تناسيك

stud.rar

تم تعديل هذه المشاركة بواسطة - a l t - في 1 سبتمبر 2005 في 17:28

11_03_06_12_48_57_1142110137Image(_66).jpg

#3

اخي الفاضل ahmed_tr

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

سنقوم بشرح مبسط للطريقة وهي كالتالي :

1. انشاء جدول يحتوي على الحقول التالية

عدد ........... ترقيم تلقائي

اسم الطالب .......... نص

m1............. رقم تمثل الماده الاولى

m2............. رقم تمثل الماده الثانية

m3............. رقم تمثل الماده الثالثه

m4 ............. رقم تمثل المادة الرابعة

m5 ............. رقم تمثل المادة الخامسة

2. نقوم بإنشاء وحده نمطيه جديده ونضع بها الكود التالي

Function GetAvg(m1, m2, m3, m4, m5) As Double
Dim Items As Byte

If Nz(m1) <> 0 Then Items = 1
If Nz(m2) <> 0 Then Items = Items + 1
If Nz(m3) <> 0 Then Items = Items + 1
If Nz(m4) <> 0 Then Items = Items + 1
If Nz(m5) <> 0 Then Items = Items + 1

If Items <> 0 Then
GetAvg = CDbl((Nz(m1) + Nz(m2) + Nz(m3) + Nz(m4) + Nz(m5)) / Items)
Else
GetAvg = 0
End If
End Function

هذا الكود في الوحده النمطيه يقوم بإستخراج القيم التي لا تحتوي على الصفر بل يقوم بإستبعادها ثم يقوم بقسمة مجموع الاعداد الصحيحة على عددها فقد يكون في السجل حقلين او ثلاثه فقط من مجموع خمسه ولكنه يستبعد القيم الصفريه كما تم ايضا استخدام الدالة NZ لتلافي ظهور الخطأ او قم خالية للسجلات

3. نقوم بإنشاء استعلام مبني على الجدول ثم نقوم بإضافة حقل اضافي له وهو المجموع وهو اختياري ان رغبت به والا قم بحذفه فهو لا يؤثر في العملية ويكون مجموع جميع الحقول الخمسه للمواد

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

المعدل: GetAvg([m1];[m2];[m3];[m4];[m5])

5. نقوم الان بإنشاء نموذج مستمر مبني على الجدول لكتابة القيم الخاصه بالمواد وكذلك الاستعلام لاظهار النتائج

وهذا المثال جاهز للاستخدام

المعدل.rar

ملاحظة : تم استخدام الاحرف الانجليزية في الكود بالمشاركة ليتم فهمه بينما في المثال تم استخدام اسماء المواد بالعربي

اختكم

زهره

#4

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

شكرا جزيلا على سرعة إستجابتكم

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

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

هذا الموضوع مغلق.

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