أمثلة تطبيقية حول إنشاء الاستعلامات في الأكسس (Practical examples of creating queries in Access)
1) أمثلة تطبيقية خاصة بإدارة مدرسة التكوين
سوف نقوم في هذا الجزء التطبيقي بإنشاء بعض
الاستعلامات المهمة الخاصة بمثال إدارة مدرسة التكوين، و من خلال ذلك نتعرف
على كيفية تحليل السؤال كي نتمكن من تحديد البيانات التي نحتاج إليه و استنتاج الشروط
و المعايير المطبقة عليها حتى يتسنى لنا إنشاء الاستعلام.
ملاحظة
1: قبل الانتقال إلى خطوات إنشاء استعلام، قد يتساءلُ
القارئ من أين تأتي هذه الأسئلة التي يُراد ترجمتها إلى استعلامات، والجواب بسيط
جدا، فإنها لا تأتي من فراغ أو تخيلات، بل مصدرها الأساسي هو النموذج
التنظيمي للمعالجات (Le Modèle Organisationnel des Traitements) الذي ينتمي إلى المستوى التنظيمي (المنطقي) لمنهجية مريز (MERISE) و تكلمنا عنه في مرحلة الدراسة التفصيلية.
ملاحظة
2: كل معالجة في النموذج التنظيمي للمعالجات، تُحدد أو يشار
إلى طبيعتها بأنها آلية (أوتوماتيكية)، يجب ترجمتها إلى استعلام.
نموذج البيانات المفاهيمي الخاص بمدرسة التكوين
النموذج المنطقي للبيانات الخاص بمدرسة التكوين
يصبح نموذج البيانات المنطقي النهائي لإدارة مدرسة خاصة للتكوين بالشكل التالي:
· جدول التكوين (رمز التكوين، تسمية التكوين، مدة التكوين، ثمن التكوين)،
· جدول المقياس (رمز المقياس، تسمية المقياس، المعامل، #رمز التكوين)،
· جدول الولاية (رمز الولاية، تسمية الولاية)،
· جدول البلدية (رمز البلدية، تسمية البلدية، #رمز الولاية)،
· جدول الطلبة (رقم التسجيل، الاسم، اللقب، تاريخ الميلاد، تاريخ التسجيل، #رمز التكوين، #رمز البلدية)،
· جدول الوصل (رقم الوصل، تاريخ الوصل، مبلغ الوصل، #رقم التسجيل)،
· جدول تحصل (#رقم التسجيل، #رمز المقياس، نقطة الموجه، نقطة الامتحان).
1.1. عرض قائمة البلديات حسب الولاية
سوف نقوم بإنشاء استعلام يعرض قائمة البلديات
لولاية قسنطينة، ثم نقوم بإنشاء آخر يحتوي على معلمة (وسيط) بحيث يطلب من المستخدم
إدخال الولاية أثناء التشغيل ثم يعرض قائمة البلديات التابعة للولاية التي تم
إدخال تسميتها.
1.1.1. قائمة بلديات ولاية قسنطينة
للإجابة على
هذا السؤال البسيط، نحتاج إلى بيانات جدول "البلدية" (Commune)، و بما أننا نريد عرض قائمة البلديات لولاية قسنطينة فإننا نحتاج إلى
الحقل "تسمية الولاية" (Lib_Wilaya) الموجود في جدول "الولاية" (Wilaya)، لإنشاء هذا الاستعلام
بواسطة "تصميم الاستعلام" (Query
Design)، بحيث يعرض قائمة البلديات لولاية قسنطينة، قم باتباع الخطوات التالية:
1. أنقر على علامة التبويب "إنشاء"
(Create)، ثم اختر
و أنقر على "تصميم الاستعلام" (Query Design)،
1. من مجموعة "نوع الاستعلام" (Query Type) قم بتحديد نوع الاستعلام "تحديد"
(Select) إذا لم يكن محدداً،
2. من منطقة "إضافة الجداول" (Add
Tables)، قم بتحديد جدول "البلدية"
(Commune) ثم
اضغط على زر "كنترول" (ctrl) ثم أنقر على جدول "الولاية"
(Wilaya) ثم
أنقر على الزر "إضافة الجداول المحددة" (Add
Selected Tables) لإضافتها،
ملاحظة 3: في حالة لم تكن منطقة "إضافة الجداول"
(Add
Tables) ظاهرة،
أنقر على الزر "إضافة الجداول" (Add Tables)
الموجود في مجموعة "إعداد الاستعلام" (Query Setup).
3. لتحديد الحقول المراد استرجاعها من جدول "البلدية"
(Commune)، أنقر
نقراً مزدوجاً على الحقل "رمز البلدية" (Code_Commune)، ثم
على الحقل "تسمية البلدية" (Lib_Commune)، ثم
من جدول "الولاية" (Wilaya) أنقر نقراً مزدوجاً على الحقل
"تسمية الولاية" (Lib_Wilaya)،
ملاحظة 4: لإضافة الحقول المراد استرجاعها، يمكن أيضا تحديد
الحقول في الجدول ثم سحبها إلى شبكة التصميم.
4. قم بنزع التأشير الموجود في سطر "إظهار"
(Show) من
تحت الحقل "تسمية الولاية" (Lib_Wilaya) حتى لا
يظهر في نتيجة الاستعلام،
5.
قم بكتابة المعيار "قسنطينة" في سطر "المعايير"
(Criteria) تحت
الحقل "تسمية الولاية" (Lib_Wilaya)،
6.
قم بتشغيل الاستعلام و ذلك بالنقر على زر "تشغيل" (Run)
الموجود في مجموعة "النتائج" (Results) لعرض نتائج الاستعلام،
7.
قم بحفظ الاستعلام بالنقر على أيقونة "حفظ" (Save) و تسمية
الاستعلام (Liste Communes Wilaya
Constantine).
2.1.1. قائمة البلديات حسب الولاية
في الاستعلام
سابق، قمنا بتحديد الولاية مسبقا، و السؤال المطروح الآن هو ماذا لو أردنا
عرض قائمة بلديات ولاية أخرى، هل سنقوم بإنشاء استعلام لهذه الولاية الأخيرة
أيضا؟، و ماذا عن 58 ولاية الأخرى، هل سنقوم بإنشاء استعلام لكل ولاية؟، الحل
الأمثل يكمن في إنشاء استعلام معلمة (وسيطي).
لإنشاء هذا
الاستعلام الوسيطي بواسطة "تصميم الاستعلام" (Query Design)، بحيث يطلب من المستخدم إدخال تسمية الولاية المراد عرض قائمة بلدياتها أثناء التشغيل، قم باتباع الخطوات التالية:
1. أنقر على علامة التبويب "إنشاء"
(Create)، ثم اختر
و أنقر على "تصميم الاستعلام" (Query Design)،
2. من مجموعة "نوع الاستعلام" (Query Type) قم بتحديد نوع الاستعلام
"تحديد" (Select) إذا لم يكن محدداً مسبقاً،
3. من منطقة "إضافة الجداول" (Add
Tables)، قم بتحديد جدول "البلدية"
(Commune) ثم
اضغط على زر "كنترول" (ctrl) ثم أنقر على جدول "الولاية"
(Wilaya) ثم
أنقر على الزر "إضافة الجداول المحددة" (Add
Selected Tables)
لإضافتها،
ملاحظة 5: في حالة لم تكن منطقة "إضافة الجداول"
(Add
Tables)
ظاهرة، أنقر على الزر "إضافة الجداول" (Add Tables)
الموجود في مجموعة "إعداد الاستعلام" (Query Setup).
4. لتحديد الحقول المراد استرجاعها من جدول "البلدية"
(Commune)،
أنقر نقراً مزدوجاً على الحقل "رمز البلدية" (Code_Commune)، ثم
على الحقل "تسمية البلدية" (Lib_Commune)، ثم
من جدول "الولاية" (Wilaya) أنقر نقراً مزدوجاً على الحقل
"تسمية الولاية" (Lib_Wilaya)،
5. قم بنزع التأشير الموجود في سطر "إظهار"
(Show) من
تحت الحقل "تسمية الولاية" (Lib_Wilaya) حتى
لا يظهر في نتيجة الاستعلام،
6.
قم بكتابة المعيار بالشكل التالي [أدخل تسمية الولاية] في سطر
"المعايير" (Criteria) تحت
الحقل "تسمية الولاية" (Lib_Wilaya)،
7.
قم بتشغيل الاستعلام و ذلك بالنقر على زر "تشغيل" (Run)
الموجود في مجموعة "النتائج" (Results) لعرض نتائج الاستعلام،
8.
تظهر
علبة حوار "أدخل قيمة المعلمة" (Enter Parameter Value)، أدخل تسمية الولاية ثم أنقر على الزر
"موافق" (OK)،
9.
قم بحفظ الاستعلام بالنقر على أيقونة "حفظ" (Save) و تسمية
الاستعلام (Liste Communes par Wilaya).
2.1. عرض قائمة الطلبة حسب التكوين
للإجابة على
هذا السؤال البسيط، نحتاج إلى بيانات جدول "الطلبة" (Etudiant)، و بما أننا نريد عرض قائمة الطلبة حسب التكوين، نحتاج إلى الحقل
"تسمية التكوين" (Lib_Format) الموجود في جدول "التكوين" (Formation)، لإنشاء هذا
الاستعلام بواسطة "تصميم الاستعلام" (Query Design)، قم باتباع الخطوات التالية:
1. أنقر على علامة التبويب "إنشاء"
(Create)، ثم اختر
و أنقر على "تصميم الاستعلام" (Query Design)،
2. من مجموعة "نوع الاستعلام" (Query Type) قم بتحديد نوع الاستعلام
"تحديد" (Select) إذا لم يكن محدداً مسبقاً،
3. من منطقة "إضافة الجداول" (Add
Tables)، قم بتحديد جدول "الطلبة"
(Etudiant) ثم
اضغط على زر "كنترول" (ctrl) ثم أنقر على جدول "التكوين"
(Formation) ثم
أنقر على الزر "إضافة الجداول المحددة" (Add
Selected Tables)
لإضافتها،
ملاحظة 6: في حالة لم تكن منطقة "إضافة الجداول"
(Add
Tables)
ظاهرة، أنقر على الزر "إضافة الجداول" (Add Tables)
الموجود في مجموعة "إعداد الاستعلام" (Query Setup).
4. لتحديد الحقول المراد استرجاعها من جدول "الطلبة"
(Etudiant)،
أنقر نقراً مزدوجاً على الحقل "رقم التسجيل" (Matricule)، ثم
على الحقل "اللقب" (Nom)، ثم على الحقل "الاسم"
(Prenom)، ثم على الحقل "تاريخ الميلاد" (Date_Nais)، ثم
من جدول "التكوين" (Formation) أنقر
نقراً مزدوجاً على الحقل "تسمية التكوين" (Lib_Format)،
5. قم بنزع التأشير الموجود في سطر "إظهار"
(Show) من
تحت الحقل "تسمية التكوين" (Lib_Format) حتى
لا يظهر في نتيجة الاستعلام،
6.
قم بكتابة المعيار بالشكل التالي [أدخل تسمية التكوين] في سطر
"المعايير" (Criteria) تحت
الحقل "تسمية التكوين" (Lib_Format)،
7.
قم بتشغيل الاستعلام و ذلك بالنقر على زر "تشغيل" (Run)
الموجود في مجموعة "النتائج" (Results) لعرض نتائج الاستعلام،
8.
تظهر
علبة حوار "إدخال قيمة المعلمة" (Enter Parameter Value)، أدخل تسمية التكوين ثم أنقر على الزر
"موافق" (OK)،
9. قم بحفظ الاستعلام بالنقر على أيقونة "حفظ"
(Save) و تسمية
الاستعلام (Liste Étudiants par Formation).
3.1. حساب عدد الطلبة المسجلين في كل تكوين
للإجابة على
هذا السؤال البسيط، أولا نحتاج إلى دالة "عدد" (Count) التي تقوم بالحساب، ثم نطبقها على أي حقل ينتمي إلى جدول "الطلبة" (Etudiant)
بشرط أن يكون له القيد إجباري (Required)، ثم نحتاج إلى بيانات جدول "التكوين" (Formation) مثل الحقل "تسمية التكوين" (Lib_Format) و الحقل "رمز التكوين" (Code_Format)، والذي يتم تجميع الحساب عليهما.
لإنشاء هذا
الاستعلام بواسطة "تصميم الاستعلام" (Query Design)، قم باتباع الخطوات التالية:
1. أنقر على علامة التبويب "إنشاء"
(Create)، ثم اختر
و أنقر على "تصميم الاستعلام" (Query Design)،
2. من مجموعة "نوع الاستعلام" (Query Type) قم بتحديد نوع الاستعلام
"تحديد" (Select) إذا لم يكن محدداً مسبقاً،
3. من منطقة "إضافة الجداول" (Add
Tables)، قم بتحديد جدول "الطلبة"
(Etudiant) ثم
اضغط على زر "كنترول" (ctrl) ثم أنقر على جدول "التكوين"
(Formation) ثم
أنقر على الزر "إضافة الجداول المحددة" (Add
Selected Tables)
لإضافتها،
ملاحظة 7: في حالة لم تكن منطقة "إضافة الجداول"
(Add
Tables)
ظاهرة، أنقر على الزر "إضافة الجداول" (Add Tables)
الموجود في مجموعة "إعداد الاستعلام" (Query Setup).
4. لتحديد الحقول المراد استرجاعها من جدول "التكوين" (Formation) أنقر نقراً مزدوجاً على الحقل "رمز التكوين" (Code_Format)، ثم على الحقل "تسمية التكوين" (Lib_Format)، ثم من جدول "الطلبة" (Etudiant)، أنقر نقراً مزدوجاً على الحقل "رقم التسجيل" (Matricule)،
5. لإظهار سطر "الإجمالي"
(Total) في شبكة تصميم QBE، أنقر
على الزر "إجماليات" (Total)
الموجود في مجموعة "إظهار/إخفاء" (Show/Hide)،
6. في سطر "الإجمالي" (Total)، تحت
الحقل "رقم التسجيل" (Matricule) غير (Group By) بدالة "عدد" (Count)،
7.
قم بتشغيل الاستعلام و ذلك بالنقر على زر "تشغيل" (Run)
الموجود في مجموعة "النتائج" (Results) لعرض نتائج الاستعلام،
8. قم بحفظ الاستعلام بالنقر على أيقونة "حفظ"
(Save) و تسمية
الاستعلام (Nbre Étudiants par
Formation).
6.1. حساب معدلات الطلبة حسب التكوين
للإجابة على هذا السؤال نحتاج أولا إلى إدخال
التكوين، ثم إلى قائمة الطلبة المسجلين في التكوين، ثم نحتاج إلى نقاط الطلبة في
مقاييس التكوين لحساب معدلات الطلبة في كل مقياس و في الأخير نحتاج إلى
معادلة حساب المعدل العام في التكوين، لتفصيل ذلك نحتاج إلى:
·
الحقل "تسمية التكوين" (Lib_Format) من
جدول "التكوين" (Formation) الذي
يتم إدخاله كمعلمة (وسيط)،
·
"رقم
التسجيل" (Matricule)، الحقل "اللقب"
(Nom) و "الاسم"
(Prenom) من
جدول "الطالب" (Etudiant) لعرض
قائمة الطلبة،
·
الحقل "نقطة الموجه" (Note_TD) و "نقطة
الامتحان" (Note_Examen) من جدول "النقطة"
(Note)
لحساب معدل الطالب لكل مقياس من مقاييس التكوين حسب المعادلة التالية:
·
([Note_TD]+([Note_Examen]*2))/2
·
الحقل "المعامل" (Coeficient) من
جدول "المقياس" (Module) لحساب المعدل العام للطالب في
التكوين بواسطة المعادلة التالية:
·
Sum((([Note_TD]+[Note_Examen]*2)/3)*[Coeficient])/Sum([Coeficient])
لإنشاء هذا
الاستعلام بواسطة "تصميم الاستعلام" (Query Design)، قم باتباع الخطوات التالية:
1. أنقر على علامة التبويب "إنشاء"
(Create)، ثم اختر
و أنقر على "تصميم الاستعلام" (Query Design)،
2. من مجموعة "نوع الاستعلام" (Query Type) قم بتحديد نوع الاستعلام
"تحديد" (Select) إذا لم يكن محدداً مسبقاً،
3. من منطقة "إضافة الجداول" (Add
Tables)، قم بإضافة جدول "الطلبة"
(Etudiant)، جدول
"التكوين" (Formation)، جدول "المقياس"
(Module) ثم جدول
"النقطة" (Note)،
ملاحظة 8: في حالة لم تكن منطقة "إضافة الجداول"
(Add
Tables)
ظاهرة، أنقر على الزر "إضافة الجداول" (Add Tables)
الموجود في مجموعة "إعداد الاستعلام" (Query Setup).
4. لتحديد الحقول المراد استرجاعها من جدول "الطلبة" (Etudiant) أنقر نقراً مزدوجاً على الحقل "رقم التسجيل" (Matricule)، ثم على "اللقب" (Nom) ثم على "الاسم" (Prenom)، من جدول "التكوين" (Formation) أنقر نقراً مزدوجاً على الحقل "تسمية التكوين" (Lib_Format)،
5. لإظهار سطر "الإجمالي"
(Total) في شبكة تصميم QBE، أنقر
على الزر "إجماليات" (Total)
الموجود في مجموعة "إظهار/إخفاء" (Show/Hide)،
Commentaires
Enregistrer un commentaire