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

تحديد الترتيب الإسمي و اللفظي لأوائل الطلاب

مغلق
بدأه rahmasoft1 في 9 أكتوبر 2006 · 22 رد · 2,887 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كل عام و أنتم بخير

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

حيث كنت مشغول مع تجهيزات عملية إبني لظروفه الصحية – واسالكم الدعاء له بالشفاء –

ثانيا : لقد تم إدارج الصورة التي تعبر عن النتيجة النهائية للنموذج أو الاستعلام

ثالثا : المطلوب هو أن يتم كتابة الترتيب الإسمي للطالب في الفصل – كمثال العشرة الأوائل – و تم كتابة الترتيب باللون الأحمر.

الصورة هي موجودة في المرفقات لعدم تمكني من إدراجها

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

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

تحديد الترتيب الإسمي و اللفظي لأوائل الطلاب

post-51636-1160351022_thumb.jpg

تم تعديل هذه المشاركة بواسطة rahmasoft1 في 9 أكتوبر 2006 في 02:43

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#2

للرفع

أرجو من الأخوة الأفاضل أصحاب الخبرات الإهتمام بالموضوع و المشاركة

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#3

السلام عليكم

اولا : هل تريد نتيجة الاستعلام في تقرير

ثانيا : ادرج برنامجك ليتم التعديل عليه

مع قبول تحياتي

#4

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

http://www.arabteam2000.com/Files/UserPicture/THE_order.jpg

db1.rar

تم تعديل هذه المشاركة بواسطة rahmasoft1 في 9 أكتوبر 2006 في 05:51

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#5

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

المثال مرفق

ekseer_order.rar

#6

أحي الكريم

جزاكم الله خير ا على الاهتمام والرد

و لكن ما أسهل الحياة لو كانت بهذا الشكل

أخي الجدول الأصلي بدو ن الترتيب كالشكل التالي

THE_order_before.jpg

و بعد إجراء الاستعلام المطلوب المفروض أن تكون كالتالي

THE_order.jpg

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

db1.rar

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#7

للرفع

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#8

للرفع

نرجوا أن نجد الحل عند أستاذتنا المشرفين او أحد الحبراء

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#9

السلام عليكم

أرجو من الأخوة الأعضاء أن يشاركوا في هذا الموضوع

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#10

السلام عليكم

واضح أن الموضوع مش سهل و بالفعل الموضوع محتاج شغل

و لكن كلي أمل أن نتشارك في الحل

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

أخوكم أبو رحمة

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#11

والله يا أخي لقد استعصى علي فهم ماتريد

واعتذر فالجود من الموجود .. وحسبنا الاجتهاد والمرء لايلام بعد الاجتهاد

#12

السلام عليكم

أخي الكريم متشكر جدا لاهتمامك بالموضوع

أدعو الاخوة الافاضل المشرفين إلى زيارة موضوعي لكي يحددوا اذا كانت المشاؤكة غير واضحة أو واضحة

و على الكل الموضوع بسيط

الجدول الاساسي به درجات التلاميذ و نفترض مثلا انهم 100 تلميذ

هذا الجدول مرتب حسب اسم الطالب مثلا

به ثلااثة حقول الاسم و الدرجة و الترتيب

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

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

و لنكون أكثر تحديد ا على مستوى العشرة الاوائل

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

هذا عظيم و لكن من هو الأول و من الثاني و هكذا لم يتم تحديده

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

1:- تحديد العشرة الاوائل "و هذا الاستعلام موجود بالفعل في المنتدى"

2

:- كتابة صفة الاوائل في حقل الترتيب "أي كتابة الأول - الأول مكرر- الثاني .................العاشر "

أرجو أن أكون وضحت المقصود

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#13

للرفع

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#14

بصراحة انا مستغرب جدا :(

فإما إن الموضوع تافه جدا - و لا أظن ذلك -

أو إن الموضوع غامض جدا- و لا أظن ذلك أيضا -

فلماذا الاعراض عنه و عدم المشاركة فيه لا أعلم السبب ؟؟

أنا لا أطلب حل نهائي ...فقط بعض الافكار ...

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

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#15
اقتباس
أنا لا أطلب حل نهائي ...فقط بعض الافكار ...

تفضل هذا المثال وهو كما ذكرت انت ليس حلاً نهائياً ولكن فيه بعض الأفكار .

تحياتي ..

Order.rar

#16

السلام عليكم

:) كما عودنا أستاذنا و مشرفنا و مبدعنا الأستاذ فهد الدوسري فقد أقترب كثير ا جدا من الحل و هو بحق انسان مبدع

و فعلا و زي ما بيقولوا عندنا في مصر " الكبير كبير"

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

أخوكم ابو رحمة

تم تعديل هذه المشاركة بواسطة rahmasoft1 في 10 أكتوبر 2006 في 15:24

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#17

لا تعقيب بعد الاستاذ فهد فهو كما اسلفت (( كبير في خبراته )) وأرجو أن يأذني بلمشاركة التالية

هناك طريقة أخرى وهي باستخدام دالة ( Switch ) مع دالة ( Top ) وهذه الطريقة تقوم بعمل الترتيب للعشرة الأوائل في الاستعلام نيابة عن المستخدم " آلياً " ولكن يلزمنا وجود ترقيم آلي للاستعلام بالسجلات العشرة المصفين بدالة Top حتى نحصل على ترتيب الطلاب .

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

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

عموماً مرفق مثال جرب إذا جاز لك وأخبرنا عن ذلك

students.rar

تم تعديل هذه المشاركة بواسطة مصلح الحريصي في 11 أكتوبر 2006 في 02:34

#18

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

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

هذا الملف يوجد به الترتيب عادي مثلا

الاول

الثاني

الثاني

الثالث

الثالث

الثالث

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

Students_Rank_UP1.rar

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

Students_Rank_UP2.rar

ملاحظة : تم تعديل الامثلة السابقة بأمثلة جديده بها تعديل الفرز التنازلي للترتيب

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

THE_order.jpg

تم تعديل هذه المشاركة بواسطة zahrah في 11 أكتوبر 2006 في 12:50

#19

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

جزى الله كل خير كل من حاول و ساهم في هذا الموضوع

و اللهم بارك له في علمه و وقته

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

- اللهم بارك لها في أولادها و وزوجها و وقتها و علمها يا كريم -

جزاكم الله خيرا على هذا الاهتمام

و إن شاء الله سأحاول التعديل في الوحدة النمطية- بعد دراستها-

و إن شاء الله عند الانتهاء سوف أضعها هنا إن شاء الله لتكون مفيدة لغيرنا

أخوكم أبو رحمة

تم تعديل هذه المشاركة بواسطة rahmasoft1 في 11 أكتوبر 2006 في 06:30

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#20

مشرفتنا الغالية

الله الله ما هذا الفن صراحة تعجبني أفكارك وأساليبك البرمجية فعلاً عقل يفكر وأمثلة رائعة وأجر عظيم بإذن الله.

لي ملاحظة : من خلال تجربتي للمثال قمت بتعديل درجات " ماهر عبد المهدي محمد خصاونة " إلى أكبر درجة ( 2600 ) وقمت بالنقر على زر " إبدأ عملية ترتيب الطلاب " على أمل أن يعطي الطالب " ماهر عبد المهدي محمد خصاونة " الترتيب الأول ويضعه أول السجلات لكنه بقي على الترتيب الخامس .

فهل هذا خطأ مني لم أعرف استخدام البرنامج ؟

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

#21

السلام عليكم

الأخ مصلح الحريصي عنده حق في ملاحظته

هذه الملاحظة ناتجة من الأسباب التالية :

1- عدم ترتيب الطلبة حسب درجاتهم تنازليا في الاستعلام

2- عدم ترتيب الطلبة تنازليا في النموذج

تم إصلاح هذين النقطتين في الملف المرفق

و لكن لكي يتم الترتيب بصورة صحيحة بعد تعديل الدرجات يجب مسح الترتيب أولا ثم الترتيب مجددا

و لتسامحني الأخت الكريمة زهرة فلقد أظهرت الحيل البرمجية التي استخدمتها لكي تكتب كلمة مكرر

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

أخوكم أبو رحمة

Students_Rank_UP.rar

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#22

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

نعم اخي مصلح هذه هي طريقة عمل البرنامج كما ذكر الاستاذ ابو رحمه

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

لا عليك اخي ابو رحمه لم اضع الامثله الا لغرض التعديل عليها من قبلكم المهم ان نتوصل الى اقرب الحلول ان شاء الله

بالنسبة للمثال الاول يعتمد فقط على الوحدة النمطية ويتم استدعاؤها بوسطة زر الامر بدأ عماية الترتيب ويتم وضع نتائج الترتيب في الجدول والاستعلام مباشرة ثم تظهر رساله عند اكمال الترتيب لكي تقوم بإظهار البيانات في النموذج والتقرير ( تذكر انه اولا يتم تخزين الترتيب ثم اظهار النتيجة .)

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

DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE tblstudents SET tblstudents.StrGradeorder = '';"
DoCmd.SetWarnings True

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

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

لهذا تخليت عن الفكره وقمت بعمل مربعات نص مخفيه

مربع نص مخفي اسمه txtCoun ( مربع صغير في اخر النموذج على اليسار في قسم تفصيل بخلفية صفراء باهته ولون خط ازرق . مهمة هذا المربع هي عد السجلات واظهار عدد مرات التكرار

=DCount("[sngGrade]";"tblstudents";"[sngGrade] = [Total]")

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

=IIf([txtCount]=1;[xStrGradeorder];[xStrGradeorder] & "  مكرر ")

لكي تظهر كلمة مكرر بناء على مربع النص الخاص بالعد txtCoun ومربع النص الخاص بالترتيب StrGradeorder

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

الان عند عرض النموذج اذا كان خاليا من الترتيب نجد كلمة " مكرر " الخاصة بمربع النص txtZA هي الظاهره اما مربع النص الاساسي StrGradeorder فهو مخفي خلف مربع النص txtZA

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

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

ملاحظة :

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

Private Sub Form_Open(Cancel As Integer)
Me.OrderBy = "sngGrade DESC"
Me.OrderByOn = True
End Sub

الملف الاول بعد التعديل

Students_Rank_UP1.rar

الملف الثاني بعد التعديل

Students_Rank_UP2.rar

تم تعديل هذه المشاركة بواسطة zahrah في 11 أكتوبر 2006 في 12:56

#23

السلام عليكم

أقتربت الأخت زهرة من خلال المثال التي تفضلت به مشكورة كثيرا من الحل

و لكن هناك بعض النقاط كما أشارت هي إليها تستلزم التطوير و التعديل و هي كالتالي :

أ- مثال الأستاذة زهرة يرتب حتى 10 أوائل فقط أما برنامج الأستاذ فهد الدوسري فمن الممكن أن يرتب الصف بأكمله

لذلك قررت أن أحاول أن أدمج المثالين معا و الله الموفق فمن أراد أن يكمل

في هذا الاتجاه فليعلمني كي نتعاون في ذلك

ملحوظة : النقاط التي سوف تستكمل هي :

1-: كتابة كلمة مكررتكون بدءا من الطالب الثاني و ليس الأول

- عندما يكون هناك مثلا 3 طلبة له نفص الدرجة فيكون ترتبيهم كالتالي

الأول

الأول مكرر

الأول مكرر

2- يتم الترتيب وفقا لعدد الفصل كله ( 50 أو 60 مثلا )

أي أن من الأول و حتى الخمسون أو الستون

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

تم تعديل هذه المشاركة بواسطة rahmasoft1 في 13 أكتوبر 2006 في 10:28

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

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

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