• 0
ALSAHER_9

سؤال في الإستعلام (كيف احصل مكان الرقم على مركز وترتيب ؟)

سؤال

السلام عليكم ..

سؤالي باختصار ..

أريد تحويل درجة مجموعة من الطلبة في سجل معين إلى درجة أو ترتيب بمعنى آخر

إذا كان عندنا عدد من الطلبة بهذه الدرجات على سبيل المثال

20

20

30

25

40

50

فيكون هناك ترتيب معين لهؤلاء الطلبة بالنسبة لأعلى درجة فيكون كالتالي ...

50 ====> الاول (1)

40 ====> الثاني (2)

30====> الثالث (3)

25 ====> الرابع (4)

20====> الخامس(5)

20 ====> الخامس (5)

إذا اعطاء كل طالب مركز الأول الثاني او الثالث وتواليك .... وشكرا على الإهتمام ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

25 إجابة على هذا السؤال .

  • 0

السلام عليكم ...

لو ترفق مثال يكون أفضل وأحسن حتى نعدل عليه أختصاراً للوقت ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اضفت لكم اخوان مرفق بمثال على ما اريد عملة ..

اريد استبدال مكان الدرجة ترتيب معين للطالب على مستوى قاعدة البيانات أو الإستعلام ..

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

sport.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

اذا كان هناك من يعلم كيف استخدام جملة Rnaking:

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ الكريم ALSAHER_9

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

فلاحظ انك تضع الدرجة في خانة " mark " وتضغط " enter " يظهر لك الترتيب " الاول ـ الثاني ـ الثالث ـ الرابع وهكذا " وحسب ماتريد يمكنك تغيير الدرجة في الوحدة النمطية فهي في المثال المرفق كما يلي :

الطالب الحاصل علي درجة من 40 إلى 50 يكون ترتيبه الاول

الطالب الحاصل على درجة من 30 الي 40 يكون ترتيبه الثاني

الطالب الحاصل على درجة من 25 الي 30 يكون ترتيبه الثالث

الطالب الحاصل على درجة من 1 الي 25 يكون ترتيبه الرابع

يمكنك تغيير هذا الدرجات حسب ما تريد

الملف المرفق

_______.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عزيزى هل هذا ماتريد

اخوكم

اسامه المغربى

مصر _ البحر الاحمر

ايميلى

[email protected]

اتمنا ان نكون اصدقاء

هذا هو الملف المرفق :unsure:

_____.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
الاخ الكريم ALSAHER_9

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

فلاحظ انك تضع الدرجة في خانة " mark " وتضغط " enter " يظهر لك الترتيب " الاول ـ الثاني ـ الثالث ـ الرابع وهكذا " وحسب ماتريد يمكنك تغيير الدرجة في الوحدة النمطية فهي في المثال المرفق كما يلي :

الطالب الحاصل علي درجة من 40 إلى 50 يكون ترتيبه الاول

الطالب الحاصل على درجة من 30 الي 40 يكون ترتيبه الثاني

الطالب الحاصل على درجة من 25 الي 30 يكون ترتيبه الثالث

الطالب الحاصل على درجة من 1 الي 25 يكون ترتيبه الرابع

يمكنك تغيير هذا الدرجات حسب ما تريد

الملف المرفق

اخي العزيز أبو شادي والغالي أنا المصري .. شكرا جزيلا على الجهود المبذولة في إقناعي ولكن هذه الطريقة غير صحيحة للأسف ..

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

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

وتلميح للجميع .. الحل يستخدم بع قاعدة اسمها

Ranking: (Select Count(*) from

ولكن لم استطع لحد الان تطبيق هذه القاعدة بالشكل المطلوب لوجود التعقيدات ..

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

هذه الوصلة للحل ..

اتمنى المشاركة من المشرفين ..

الحل مطبق في هذا المثال .. في الاستعلام باسم qryProcessTieInRanking

اتمنى الافادة من الخبراء وتطبيق المثال في موضوعي وشكرا للتعاون من الجميع

هنا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الأخ الكريم ALSAHER_9

مرفق ملف به استعلام كمثال على ما تريد , والفكرة مستوحاه من الموقع اللى حضرتك تفضلت بارفاقه , وان كنت اعتقد انها اسهل بعون الله.

اما تحويل الترتيب من ارقام (1 , 2 , 000 ) الى نصوص ( الاول , الثانى , 000 ) فهذا موضوع اخر , واعتقد والله اعلى واعلم سيفيدك فى هذا الاطلاع على الامثلة المرفقة من اخواننا واساتذتنا بالمنتدى عن موضوع تحويل الارقام الى نصوص.

هذا وبالله التوفيق ,,,

Rank.rar

تم تعديل بواسطه عماد حمدي احمد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الغالي عماد حمدي احمد والله ماقصرت انت فعلا ريحتني من هالهم الكبير .. وفعلا تستحق تكون خبير ..

شكرا جزيلا والله يوفقك إن شاء الله .. والله يقدرني ارد هالمعروف لك الغالي ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الأخ الكريم ALSAHER_9

بارك الله فيك وبارك لك ووفقك لما يحب ويرضى , ارجو الا تنسانا من صالح دعائك فى هذه الايام المباركة, وكل عام وحضرتك وكل اخواننا واساتذتنا بخير ان شاء الله.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هلا بالخبير .. لدي في هذا الحل مشكلة بسيطة ..

عند تكرار نتيجة معينة مثلا يتكرر الترتيب وطبعا لاضرر في ذلك ولكن المشكلة الاكبر هي انه عند تكرار مثلا الترتيب 2 مرتان .. نفقد الترتيب 3 في بعض الاحيان وهذه حدث بعد عدة محاولات في فحص والتاكد من البرنامج حيث يظهر لي بهذا الترتيب

1

2

2

4

5

6

7

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

أخى الكريم ALSAHER_9

العملية ليست غريبة ولا حاجة , ولا يوجد اى خلل علمى , بل الذى يحدث هو عين الصواب.

من المعروف علميا اخى الكريم انه اذا تكرر ترتيب طلبة عدة مرات فان جميع الطلاب تاخذ ترتيبا واحد وهو اول التكرار طبعا ( فى ملحوظتك يعنى 2 ) وبالتالى لانه عندى عدد من الطلبة لهم نفس الترتيب , فانه تحجز لهم نفس عدد المراتب والطلاب التى تليهم تاخذ ترتيبها على ان كل طالب من المكرر ياخذ ترتيب مختلف. بمعنى انه لو انه لدى خمسة طلاب لهم ترتيب مكرر وليكن الترتيب (3) فان اول طالب بعدهم يأخذ الترتيب (8) لانه تم حجز خمس مراتب للتكرار. والا اخى الكريم كيف لى ان استخرج العشرة طلاب الاوائل مثلا لو لم يحدث حجز للترتيب المكرر؟

يعنى مثلا الترتيب الثالث يتكرر 5 مرات واعتبره مرتبه واحده , عندها سيكون العشرة الاوائل (كترتيب )به على الاقل 14 طالبا , وهذا خطأ بالتاكيد.

وبالله التوفيق,,,

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي العزيز فلنكن منطقيين في الترتيب .. هل يعقل حين ترتيب الطلبة نذكر مثلا ..

الاول ( محمد )

الثاني ( سعد )

الثالث (عبدالله )

الثالث مكرر (أحمد)

الخامس ( سعيد )

.

.

.

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

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

أو ان الغي الترتيب لعجز قواعد البيانات في ايجاد الحل المناسب ...

لاعليك انا لا الومك ولكن الوم جهلي في قواعد البيانات والتعامل معها ..

شكرا جزيلا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الأخ الكريم ALSAHER_9

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

بداية اخى الكريم اطلع على هذه الروابط ففيها اجابة شافية على طريقة الترتيب , ووضع المراكز

http://www.khayma.com/aljawfa/awail.htm

http://www.dardasha.net/montada/forum84/thread68489/

اخي العزيز فلنكن منطقيين في الترتيب .. هل يعقل حين ترتيب الطلبة نذكر مثلا ..

الاول ( محمد )

الثاني ( سعد )

الثالث (عبدالله )

الثالث مكرر (أحمد)

الخامس ( سعيد )

.

.

.

اعتقد اخى الكريم الروابط السابقة خير رد على سؤالك. وليس هذا كل ما فى الامر , انظر حضرتك الى الرابط الذى وضعته فى مشاركتك من قبل

http://support.microsoft.com/kb/208946/en-us

وانظر , هناك مثالين , ركز على ترتيب المثال الاول منهم وقل لى رأيك ايه؟

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

لا تعليق

أو ان الغي الترتيب لعجز قواعد البيانات في ايجاد الحل المناسب ...

لا تعليق , الا ان قواعد البيانات لا تعجز, فهى تنفذ ما نمليه عليها.

أخى الكريم

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

عامة اخى الكريم التعديل على برنامجك ليخرج النتائج كما تريد سهل جدا جدا ايضا , ولكن سيكلفك عمل استعلام اخر لاظهار القيم محل الدراسة وبدون تكرار.

مرفق مثال وبه الحلين, والله الموفق,,,

bank.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

وانا اتمنى ان لا تحمل علي اي نوع من الزعل على اسلوبي لاني والله العظيم لم اقصد ابدا ايذائك او جرحك باي كلمة ..

وهذه الرسالة اكتبها لك قبل ان اتطلع على اي وصلة اعطيتني اياها وانا كلي ثقة انك ستغفر لي زلة اللسان التي لم اقصدها

ثانيا اشكرك بكل عنف على كل ما ادليت به من شرح ومساعدة في انجاح برنامجي ولك الدعاء والشكر الجيز إن شاء الله ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخواي الكريمين لابأس من أن أشارك بطريقة أخرى للحل وفق طلب الأخ: الأ ALSAHER_9 بصرف النظر عن ما إذا كانت طريقة الترتيب المتبعة علمية أم لا.

فقد أضفت حقل اسميته للجدول T لتخزين الترتيب

وقد استخدمت إجراء يقوم بتعبئة هذا الحقل.

شاهد المثال المرفق.

تحيايي للجميع.

_Rank.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

أخى الكريم ALSAHER_9

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

الأخ الكريم المزيني

هذا فعلا ما نتمناه فى مثل هذا المنتدى , روح المنافسه والتبادل العلمى , طريقتك اضافة ممتازة بإذن الله, بارك الله فيك.

والله الموفق ,,,

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

انا حايسه بنفس المشكله

اريد ان اعمل ترقيم تلقائي في الاستعلام بلغة الاس كيو ال

ملاحظه : الملفات المرفقه التي وضعتوها ما تفتح عندي ياليت تضعون لي الكود الي يعمل ترقيم تلقائي وطريقة كتابته

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تقبلو تحياتي جميعا وخاصة الأخ المزيني الذي وبعد اذنه عدلت على مرفقاته واضفت عمودا للدرجة بالحروف

بمعنى ان الرقم 3 مثلا في حقل order يظهر في حقل rnktxt على شكل "الثالث" وهكذا

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

المهم ها هو المرفق

اضغط على زر الترتيب وستلاحظ الفرق

ملاحظة : ستظهر السجلات غير مرتبة عند فتح النموذج ولكن الدرجة بالحروف تشير الى قيمة العمود order الحالية اي قبل الترتيب

عند الترتيب سيتم عرضها بشكل يوافق القيم في العمود وكذلك الترتيب الحقيقي

همام

Ranks.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخ الفاضل ...

Ordering.zip

يمكن أنجاز ذلك بطريقة أخرى...

بإفتراض لدينا جدول أسمه Students يحتوى على لحقول التالية:

ID: AutoNumber ' معرف
Name: Text ' أسم الطالب
Degree: Number ' الدرجة

فيمكن إجراء جملة أستعلام (مبنية على أستعلام أخر) للحصول على نتيجه مثل ما طلب الأخ (ALSAHER_9)

qStudents:
========
SELECT S.*, (Select Count(*) From qDegreesGroup Where Degree > S.Degree) +1 AS StudentOrd
FROM Students AS S ORDER BY S.Degree DESC;


qDegreesGroup:
=============
SELECT Degree, Count(*) FROM Students GROUP BY Degree;

أو إجراء جملة أستعلام واحد للحصول على نتيجه مثل ما ذكر الأخ (عماد حمدي احمد)

SELECT S.*, (Select Count(*) From Students Where Degree > S.Degree) +1 AS StudentOrd
FROM Students AS S ORDER BY S.Degree DESC;

وشكراً

تم تعديل بواسطه Eng. Usama El-Mokadem
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بارك الله فيكم جميعا

وعلى رأسكم استاذنا المهندس العبقري اسامه فله جزيل الشكر والعرفان

ولكن ما رأيكم بهذه الفكره

طبعا البرنامج يستطيع الترتيب حتى الطالب العاشر وليس الخامس فقط

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

Students_Rank_UP1.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخ الفاضل ...

تعديل بسيط

Ordering2.zip

يمكن أنجاز ذلك بطريقة أخرى...

بإفتراض لدينا جدول أسمه Students يحتوى على لحقول التالية:

ID: AutoNumber ' معرف
Name: Text ' أسم الطالب
Degree: Number ' الدرجة

فيمكن إجراء جملة أستعلام للحصول على نتيجه "بدون قفزات فى الترتيب" مثل ما طلب الأخ (ALSAHER_9)

SELECT S.*, (Select Count(*) From (SELECT Degree
FROM Students GROUP BY Degree) Where Degree > S.Degree) +1 AS StudentOrd
FROM Students AS S ORDER BY S.Degree DESC;

أو إجراء جملة أستعلام للحصول على نتيجه للحصول على نتيجه مثل ما ذكر الأخ (عماد حمدي احمد)

SELECT S.*, (Select Count(*) From Students Where Degree > S.Degree) +1 AS StudentOrd
FROM Students AS S ORDER BY S.Degree DESC;

مثال أخر له علاقة بالترتيب (إلى حد ما): http://www.arabteam2000-forum.com/index.php?showtopic=77002

وشكراً

تم تعديل بواسطه Eng. Usama El-Mokadem
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخت الفاضلة ... وأستاذتنا الكبيرة زهرة

شكراً جداً وبارك الله فيكى وفى والديك،

مثال رائع جداً، دائماً تتحفيننا بإبداعاتك المتواصلة :)

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

Ordering_UP.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ماشاء الله ... بارك الله فيك وففقك أختنا زهرة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .