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

دالة لعمل ترقيم تلقائي؟؟؟؟؟؟

بدأه up-down في 15 يوليو 2008 · 6 رد · 992 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أعزائي أعضاء المنتدى ألا يمكن أن توجد دالة تقوم بعمل ترقيم تلقائي في الاكسس

فلدي نتائج طالبات في جدول

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

حتى يتم ترتيب الطالبات بناء على مراكزهم

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

قلت سيكون من السهل لو كان حقل المركز مرقم ترقيما تلقائيا ولكن لم اعرف كيف

#2

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

إذا افترضنا أن اسم الجدول الذي تأخذ منه النتائج هو Students، و أن حقل مجموع الدرجات (الذي أنت مرتب السجلات على أساسه) هو Marks. جملة Select التالية تقوم بإضافة حقل ظاهري باسم SerialNo يحتوي على أرقام متسلسلة: 1، 2، 3، ... إلخ:

1. ترتيب الدرجات تصاعدياً:

SELECT (SELECT COUNT(*) FROM Students C2 WHERE (C2.Marks <= C1.Marks)) AS SerialNo, * FROM Students C1 ORDER BY Marks

2. ترتيب الدرجات تنازلياً:

SELECT (SELECT COUNT(*) FROM Students C2 WHERE (C2.Marks >= C1.Marks)) AS SerialNo, * FROM Students C1 ORDER BY Marks DESC

لاحظ الفرق بين =< و => في الجملتين.

طبعاً بدل النجمة (*) يمكنك وضع الحقول التي أنت تريدها، كما في استعلامك الأصلي.

نرجو الاستفادة السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

شكرا لك أخي

ولكن ماهي C2 و C1

?????????????????

#4

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

C1 و C2 هي مجرد أسماء يمكنك استبدالها بأي أسماء من عند بشرط أن لا تتكرر و لا تكون مطابقة لأسماء جداول مذكورة في جملة الـ SQL. هذه الأسماء تعرف في لغة SQL باسم Alias (و أنا أدعوها "أسماء مستعارة") و هي تستعمل أساساً في حالة وجود أسماء جداول متشابهة للتمييز بينهما (كما في المشاركة السابقة)، و كذلك للاختصار إذا كانت أسماء الجداول طويلة. لتسمية جدول باسم مستعار (Alis) اترك مسافة بعد الاسم الفعلي للجدول ثم اكتب الاسم المستعار (أي اسم تريده)، مثلاً:

SELECT * FROM MyLongTableName Ltn WHERE Ltn.ID <= 10 ORDER BY Ltn.Address

حيث أعطينا للجدول صاحب الاسم الطويل (MyLongTableName) اسماً مستعاراً (Alias) قصير هو Ltn ثم استعملنا هذا الاسم المستعار في بقية جملة SELECT.

أما بالنسبة إلى جملة إنشاء الترقيم المتسلسل في المشاركة السابقة فلاحظ أننا لو لم نستعمل الـ Alias في عبارة C2.Marks <= C1.Marks حيث نتعامل مع نسختين من نفس الجدول، لكانت العبارة هكذا: Students.Marks <= Students.Marks !! و هو تعبير لا معنى له.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#5

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

تم تعديل هذه المشاركة بواسطة سعدون في 16 يوليو 2008 في 06:08

#6

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

d1.rar

يا عيالي كلكم .... افطنوا في حالكم

التنازع ذلكم .... والتصافي منفعه

المحتاج امشوا بحقه .... لو بدت منه المشقه

وانكثر بالقلب دقه .... طوبيتك واشعله

#7

شكرا جزيلا أخي ناجي بارك الله فيك

لقد استفدت حتما مما شرحت

والشكر أيضا لأخينا

human73

الذي أمدنا بالملف

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

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