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

مشكلة حسابية في استعلام

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

ارجو المساعدة منكم

المشكلة تكمن في الآتي :

لدي مجموعة من المدرسين لكل مدرس تقرير يعد سنويا من الموجه التربوي ومدير المدرسة

اريد تسجيل درجات الموجه التربوي والمدير لكل مدرس واخرج المتوسط لهم

وقد قمت بعمل استعلام لجمع الدرجتين وقسمتهما بعد ذلك على اثنين

ولكن واجهتني مشكلة أنه عندما لا يسجل درجة للمدير أو للموجه يكون المتوسط ناتج تقسيم تلك الدرجة على أثنين

لذا آمل المساعدة في حل هذه المشكلة

ويمكن في رأيي أن تبنى الدرجة التي لم تسجل على 100 ( الدرجة الكبرى ) ولكن لم أجد المعادلة المطلوبة

ولعل المثال المرفق يوضح المطلوب

db1.zip

#2

تفضل أخي بالمحاولة بعد التعديل على الملف و لاحظ ذلك على النموذج teste و الكود الموجود في حدث في الحالي للنموذج, و القاعدة هي أن الحساب يكون على أساس 100 للحقل الذي تساوي قيمته 0 و هذا بناءا على رغبتك.

معدلdb1.rar

#3

عزيزي biskra

شكرا لتواصلك ..

لكن عندما حاولت فتح النموذج teste خرجت الرسالة التالية :

تحتوي على مرجع معطل للملف Dwc10.DLL الأصدار 1.1

ولا أدري ما ذا يقصد .....

شاكرا مرة أخرى لتواصلك ....

#4

هل من حل ؟؟

#5

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

If Me.moudir = 0 Then
Me.daraja = (Me![tarbawi] + 100) / 2
Else
If Me.tarbawi = 0 Then
Me.daraja = (Me![moudir] + 100) / 2
Else
Me.daraja = (Me.moudir + Me.tarbawi) / 2
End If
End If

مع الملاحظة أنني غيرت أسماء مربعات النص في النموذج لتسهل كتابة الكود بحيث أن

درجة مدير المدرسة = moudir

درجة الموجه التربوي = tarbawi

متوسط درجة المدير والموجه = daraja

مع الملاحظة أن مربع النص daraja هو غير منضب.

قم بوضع هذا الكود في حدث في الحالي للنموذج.

تم تعديل هذه المشاركة بواسطة biskra في 29 أبريل 2005 في 11:32

#6

أخي العزيز biskra

أشكرك على تفاعلك وتواصلك

وقد أثقلت عليك

ولكني طبقت ماذكرت حرفيا

ولم تجدي الطريقة حيث لم يخرج المتوسط بشكل دقيق من جهة

ومن جهة أخرى يتكرر المتوسط لجميع المدرسين

ولعل المثال المرفق يوضح ذلك

db1.zip

#7

عفوا أخي الكريم , لن تثقل علي أبدا , موجود من أجل المساعدة حسب المستطاع.

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

db1.rar

#8

شكرا مرة أخرى لتعاونك

المشكلة لم تحل

لأنه أخرج لي أرقام مغايرة لما أريد

أي لم يخرج متوسط درجتي ( الموجه ) و ( المدير )

لعلني أوضح ذلك حسب المثال التالي :

لدي مجموعة من المدرسين لكل مدرس تقريرين يعدا سنويا

الأول : يعده الموجه التربوي

الثاني : يعده مدير المدرسة

لو سجلت لأحد المدرسين ( لنفترض محمد ) كل من درجة الموجه والمدير حسب الآتي :

درجة الموجه 80

ودرجة المدير 70

ولنخرج متوسط الدرجتين نجمعهما ...حيث يصبح المجموع = 150

وعند تقسيم المجموع على ( 2 ) يخرج المتوسط للدرجتين ( 75 )

وهذا الأمر سهل وبسيط جدا

المشكلة لو لم تسجل أحد الدرجاتين .. أما درجة المدير أو درجة الموجه

فمثلا :

كانت درجة الموجه ( 0 ) أي لم يزر المدرس هذه السنة

ودرجة المدير 70

لكان مجموع الدرجتين ( للمدير والموجه ) = 70

وعند تقسيم المجموع على ( 2 ) يخرج المتوسط ( 35 )

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

وكان من المفترض هنا ( أي إذا لم تسجل درجة للمدير أو للموجه ) أن يعمل الآتي :

أن ينقل الدرجة المسجلة الوحيدة ( سواء كانت للمدير أو للموجه ) إلى حقل ( المتوسط )

أو أنه يكرر الدرجة المسجلة الوحيدة ( مرتين ) ثم يقسمها على ( 2 )

ولعلي قد أكون أوضحت المطلوب

تم تعديل هذه المشاركة بواسطة woowoow في 30 أبريل 2005 في 15:50

#9

و لكن في سالك طلبت ان يكون الحساب على أن الدرجة تساوي 100 اذا المدير او الموجه التربوي لم يقم بالتنقيط, و مع ذلك فالحل يكون بتغيير المعادلة في الكود:

If Me.moudir = 0 Then
Me.daraja = Me.tarbawi
Else
If Me.tarbawi = 0 Then
Me.daraja = Me.moudir
Else
Me.daraja = (Me.moudir + Me.tarbawi) / 2
End If
End If

تم تعديل هذه المشاركة بواسطة biskra في 30 أبريل 2005 في 19:53

#10

شكرا مرة أخرى على تفاعلك وتواصلك

حلت لي معضلة كبيرة

بس هناك طلبين لو سمحت :

الأول :

المشكلة حلت في النموذج

ولكن كيفية حلها في التقرير

فمن المعلوم أنه لا يمكن الطباعة من النموذج بل من الجدول أو الاستعلام

فكيف أضع الكود في جدول أو أستعلام

الثاني :

هل يمكن أن تكون المعادلة في نماذج مستمرة

وليس في نموذج منفرد

#11

شكرا مرة أخرى على تفاعلك وتواصلك

حلت لي معضلة كبيرة

بس هناك طلبين لو سمحت :

الأول :

المشكلة حلت في النموذج

ولكن كيفية حلها في التقرير

فمن المعلوم أنه لا يمكن الطباعة من النموذج بل من الجدول أو الاستعلام

فكيف أضع الكود في جدول أو أستعلام

الثاني :

هل يمكن أن تكون المعادلة في نماذج مستمرة

وليس في نموذج منفرد

#12

تفضل أخي الكريم بالمل بعد التعديل عليه حسب رغبتك.مع الملاحظة أن هناك تقرير يعالج نفس المشكلة بواسطة نفس الكود.

الدرجة.rar

#13

شكرا لك

على تلطفك بالإجابة

وتواصلك

جزاك الله كل خير

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

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

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

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

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

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