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

المساعدة في تعديل استعلام الطلبة العشرة الأوائل


omran2015
إذهب إلى أفضل إجابة Solved by ابوخليل,

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

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

حياكم الله أيها الأساتذة الأفاضل

وبعد ,,, عندي قاعدة بيانات أكسس مربوطة بفيجوال بيسك 6 والأمر كله تمام غير أنه واجهتني مشكلة 

استعلام الطلبة العشر الأوائل والمشكلة تكمن في الآتي:

استعلام Q_top10 خاص باستخراج الطلبـة العشرة الأوائل؛ ولكن المشكلة في تكرار الترتيب حيث يقوم بتكرار النرتيب عكس مما أريد

والمفروض حين يتساوى طالبان أو أكثر في النسبة يكون الترتيب كالتالي: الأول - الأول مكرر ... الثاني - الثاني مكرر .... وهكذا في كل ترتيب

وهذا ملف صغير للتعديل عليه

 

Data_Base.mdb

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

عليكم السلام

تفضل اسرع واسهل طريقة

ولكني استبعدت التسميات : الاول ، الثاني ... الخ  لانه يوجد طالبان متساويان في النتيجة ، فالعدل ان يكون فيه تكرار مثل الاول مكرر ، الثاني مكرر ... وهكذا

ان اردت  اظهار التسميات مع تبيين التكرار  فانظرني الى الغد

Data_Base2.mdb

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

Semester

11 ساعات مضت, ابوخليل said:

عليكم السلام

تفضل اسرع واسهل طريقة

ولكني استبعدت التسميات : الاول ، الثاني ... الخ  لانه يوجد طالبان متساويان في النتيجة ، فالعدل ان يكون فيه تكرار مثل الاول مكرر ، الثاني مكرر ... وهكذا

ان اردت  اظهار التسميات مع تبيين التكرار  فانظرني الى الغد

 

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

وبناء على القيمة (3) في الحقل (Semester)  وعلى القيمة (2هو ) في الحقل (tag) لأنها القيمة (2 - 3) هى مجموع درجات الفصلين

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

لم افهم كيف 2 - 3 هي المجموع

مطلوب حقل (عمود) يحتوي على مجموع درجات الطالب التي حصل عليها ليتم تطبيق المعادلة عليه

علما اني اطلعت على حقل المجموع الذي في الجدول فلاحظت ان بعض الراسبين مجموعه اكبر من الناجحين !!!!!!

الحقل المقارب للحقيقة هو حقل FINAL 

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

التوضبح: 

الاشكال الأول في قولك : لم افهم كيف 2 - 3 هي المجموع؟

فأجيب بأن الحقل المطلوب استخراج الطلبة العشرة الأوائل هو الحقل ( Semester ) رقم الصف (3) يقابله الحقل (tag) رقم الصف (2)

باعتبار أن هذان القيتمان هما مجموع درجات الفصلين الدراسيين Semester . فالفصل الأول رقمه (1) والفصل الثاني قيمته (2) ومجموع درجات الفصلين قيمته (3)

والحقل tag يعني أن الرقم (1) يمثل الفصليين الدراسيين والرقم (2) يمثل مجموع درجات الفصليين ويُسمى الدور الأول ... ارجو أن أكون وفقتُ في إيصال الفكرة.

الإشكال الثاني في قولك: .... علما اني اطلعت على حقل المجموع الذي في الجدول فلاحظت ان بعض الراسبين مجموعه اكبر من الناجحين !

فأجيبُ بأن هذا ليس فيه تعجب بإعتبار النجاح والرسوب يكون في جميع المواد الدراسية, ولو لاحظتَ جيداً لوجدتَ ان هؤلاء الطلبة قد رسبوا في بعض المواد,

كما تلاحظ أنه لا يتم جمع درجات المواد التي رسب فيها الطالب’ ولكي ينجح الطالب في الدور الأول (مجموع درجات الفصلين) يجب أن ينجح الطالب في جميع المواد الدراسية

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

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

وهذا هو المطلوب نوعاً ما, وقد كنت أتمنى ألا يقفز الترتيب عند تكرار ترتيب ما

فمثلاً: في الملف تم تكرار الترتيب الخامس ثلاث مرات, ولكن المفروض ياخذ الطالب الذي بعده الترتيب السادس وليس الثامن, وكذلك الثامن يأخذ الترتيب التاسع

وهذا فيه إشكالية في عدم تسلسل الترتيب, فلا أدري هذا فيه حلُ نهائي لهذه المشكلة 

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

هذا هو الحل المنطقي

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

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

هذا هو المعمول به في المدارس غالبا

يكرموا عشرة طلاب فقط الاوائل

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

النتيجة كلهم الاول مكرر

الاستثناء هنا لو كانوا اكثر من عشرة ومتساوين في الدرجة

العبرة في العدد المطلوب تكريمهم

فكر فيها ملياً

نفرض 20 طالب بنفس الدرجة فأمامهم خيارين : اما يكرموا العشرين جميعا او يلغوا التكريم

اقصد ان العبرة في العدد المطلوب تكريمه بغض النظر عن التسمية الاول او الرابع او التاسع

فالتفاضل هنا لمن درجاته اعلى

 عشرة حصلوا على اعلى درجة

من غير العدل ان نعطي وصفا وترتيبا فيه تفاضل لطلاب متساوين في الدرجة

 

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

يمكن ان تتم ترتيب الاستعلام  على عمودين  مجموع الدرجة اولا  ثم ترتيب الاسم ابجديا بحيث تخرج من اشكالية الاول والثاني ... الخ

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

فعلا لو اعتبرنا ان

 9 طلاب مجموع درجاتهم 850

و5 طلاب مجموع درجاتهم 849

على اى اساس يتم اختيار الطالب رقم 10 من الـ 5 طلاب فكلهم متساون فى مجموع الدرجات 

فاهتيار احدهم دون الـ 4 الباقون ظلم لهؤلاء الـ 4

واللا ايـــــــــــه

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

6 دقائق مضت, ابو جودي said:

كيب فعلا لو اعتبرنا ان

 9 طلاب مجموع درجاتهم 850

و5 طلاب مجموع درجاتهم 849

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

فاهتيار احدهم دون ال 4 الباقون ظلم لهؤلاء الـ 4

واللا ايـــــــــــه

الخمسة كلهم العاشر مكرر  ويتقاسموا الكيكة بينهم :gift2: :wink2:

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

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

1 ساعه مضت, ابوخليل said:

هل تريد الترتيب الى العاشر  (مع حصول التكرار) حتى لو زاد العدد عن عشرة ؟ 

 

هذا هو الذي أريده بالضبط أن يكون الترتيب إلى العاشر حتى لو تكرر الترتيب وهو العدل

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

جرب التعديل الاتى

النتيجة النهائية فى الاستعلام باسم qrytop10

9 ساعات مضت, omran2015 said:

هذا هو الذي أريده بالضبط أن يكون الترتيب إلى العاشر حتى لو تكرر الترتيب وهو العدل

باقى لى مشكلة بس بصراحة تعبت بس مش راح احكى لك ايه هى المشكلة :wink2:

Data_Base4(2).accdb

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

  • أفضل إجابة
12 ساعات مضت, omran2015 said:

هذا هو الذي أريده بالضبط أن يكون الترتيب إلى العاشر حتى لو تكرر الترتيب وهو العدل

الحلول كثيرة هذا واحد منها

استخدمت هذه الوحدة النمطية عبر الماكرو  ويمكنك توظيفها في حدث زر على الفورم

Public Function fncTrteeb()
'by Abu klil
On Error Resume Next
Dim rst As DAO.Recordset
Dim rsm As DAO.Recordset
Dim trb, trbx As String
Dim i, mjmo As Integer
  DoCmd.RunSQL "update Q_top10 set trteeb=null"
    Set rst = CurrentDb.OpenRecordset("tblTrteeb")
    Set rsm = CurrentDb.OpenRecordset("Q_top10")
  rst.MoveLast
  rst.MoveFirst
  rsm.MoveFirst
trb = rst!trteb
mjmo = 0
For i = 1 To rst.RecordCount - 1
If rsm!total <> mjmo Then
rsm.Edit
rsm!trteeb = trb
mjmo = rsm!total
rsm.Update
trbx = rst!trteb
rsm.MoveNext
rst.MoveNext
trb = rst!trteb
Else
rsm.Edit
rsm!trteeb = trbx & " " & "مكرر"
mjmo = rsm!total
rsm.Update
rsm.MoveNext
End If
Next
End Function

 

ترتيب الأوائل ماكرو.rar

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

1 ساعه مضت, omran2015 said:

جزاكما الله كلَّ خير وبارك الله فيكما ومتعكما بالصحة والعافية

كل الشكر والتقدير والامتنان لاستاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل :fff:

وجزاكم الله خيرا ورزقكم مثل ما دعوتم لنا اضعافا مضاعفة انت وكل امة محمد صل الله عليه وسلم 

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

هذا تعديل ان اردنا الحصول فقط على 10 طلاب بدمج الفكرتين بآخر مرفقين :wink2:

 

Top10.accdb

تم تعديل بواسطه ابو جودي
  • Thanks 1
رابط هذا التعليق
شارك

رجاء ان وجدت ضالتك لا تتردد بعمل التأشير على افضل اجابة :rol:
ليكون معلوم انه تم اجابة سؤالكم كما توقعتم :yes:
وان كانت اكثر مما توقعتم لا تغادر الموضوع دون ابداء رأيك من خلال الاعجاب والا مش هجاوب اسئلتك تانى :eek2: انت حر :angry: 

حاسس حالى تحولت لشرير جدا جدا جدا :biggrin::jump:

توضيح الخطوات تتم كما بالصورة المرفقة

 

ChkAndLike.thumb.gif.516a87a02486b7da0c454227d54124dc.gif

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

 

منذ ساعه, ابو جودي said:

 

هذا تعديل ان اردنا الحصول فقط على 10 طلاب بدمج الفكرتين بآخر مرفقين :wink2:

 

كذا جميع الخيارات متاحة .. الف شكر حبيبنا  ابا جودي

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

4 دقائق مضت, ابوخليل said:

كذا جميع الخيارات متاحة .. الف شكر حبيبنا  ابا جودي

كل الشكر والفضل والامتنان لكم بعد رب العزة سبجانه وتعالى استاذى الجليل ومعلمى القدير و والدى الحبيب استاذ @ابوخليل :fff: انتم اساس وعمود وروح ومظلة المنتدى الذى نستظل ونتكئ عليه بفضل الله انتم وكل اساتذتنا العظماء

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

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

في ٢٦‏/١٢‏/٢٠٢١ at 22:16, ابوخليل said:

بصراحة الاجابات كلها موفقة جزاكم الله كلَّ خير ... ربنا لا يحرمنا من إبداعاتكم الرائعة

 

في ٢٧‏/١٢‏/٢٠٢١ at 01:38, ابو جودي said:

 

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

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