-->

تقنية ، إنترنت ، برامج ، دينية ، إقتصادية ، إجتماعية ، تعليمية ، رياضية

سُبْحَانَ اللَّهِ وَبِحَمْدِهِ ... سُبْحَانَ اللَّهِ العَظَيم

الجمعة، 31 أكتوبر 2014

استعلامات التحديد Select Query مع أمثله

استعلامات التحديد Select Query مع أمثله



استعلام التحديد Select Query  هو أكثر أنواع الإستعلامات شيوعا .
ويستخدم لـ:
  •  استرجاع بيانات من جدول واحد أو أكثر بمعايير أو بدون ذلك.
  •  عرض النتائج في صفحة بيانات حيث يمكنك تحديث السجلات (مع بعض القيود)، وفي كل مرة يتم تشغيل الاستعلام يتم اختيار السجلات المحدثة.
  •  يمكنك أيضاً استخدام استعلام التحديد لتجميع السجلات وحساب المجاميع والأعداد والمعدلات وأنواع أخرى من الإجماليات لحقل واحد أو عدة حقول لجدول واحد أو أكثر.

     
مثال1: على قاعدة البياناتmy database التي قمت بإنشائها مسبقا قم بإنشاء استعلام على جدول الطالب Student Table لعرض رقم واسم كل طالب وحالته الدراسية (هل هو خريج أم لا؟) ؟
ملاحظة: سنتناول حلول الأمثلة بالتفصيل، وإن كنت أتمنى أن تحاول حل كل مثال بنفسك قبل قراءته من الدرس، فالتفكير يساعدك على الاستيعاب أكثر وربما مع الوقت تنجح في تطبيق بقية الأمثلة دون أن تقرأ سطرا واحدا من الحل!
الحل:
1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.
(لا تقلق فسوف تتعرف بإذن الله من خلاص الدروس القادمة بإذن الله على جميع أنواع معالج الاستعلامات التي ظهرت لك في هذه النافذة )..




2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
كما يتضح لك من السؤال لن نحتاج إلا إلى جدول الطالب Student Table، قم بتحديده ثم انقر على زر إضافة Add ، ثم أغلق النافذة.



3- من قائمة استعلام Query اختر استعلام تحديد Select Query كما يتضح لك من الصورة، وغالبا ستجد هذا الاختيار محدد تلقائيا لأن آكسس يعتبره الخيار الافتراضي، كما أن استعلام التحديد هو الأكثر شيوعا كما أسلفنا في بداية شرح هذا النوع من الاستعلامات.



4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
ستجد أنك لن تحتاج لجميع حقول Student Table ، بل ستحتاج فقط إلى الحقول الأربعة التالية:
  • الرقم
  • الاسم_الأول
  • الاسم_الأخير
  • خريج؟
إذن قم بسحب هذه الحقول واحدا تلو الآخر وإسقاطها في الخلايا المحاذية للسطر حقل Field كما بالصورة:



5- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة 


وستظهر لك النتيجة التالية:



لقد قمت بإنشاء استعلامك بنجاح :) .

6- قم بحفظ استعلامك لتقوم بتشغيله كلما احتجت لذلك.


مثال2: على قاعدة البيانات my database التي قمت بإنشائها سابقا قم بإنشاء استعلام على الجداول الثلاثة , Grades Table, Course Table, Student Table لعرض الحقول التالية: رقم الطالب، اسم الطالب، اسم المادة، درجة المادة التي حصل عليها الطالب ؟
الحل:

1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.
 

 

2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
وكما يتضح لك من السؤال أنك ستحتاج إلى جميع الجداول الثلاثة الموجودة في قاعدة بياناتك، فقم بإضافتها جميعا، ثم أغلق النافذة.

 
3- من قائمة استعلام Query اختر استعلام تحديد Select Query كما يتضح لك من الصورة، وغالبا ستجد هذا الاختيار محدد تلقائيا لأن آكسس يعتبره الخيار الافتراضي، كما أن استعلام التحديد هو الأكثر شيوعا كما أسلفنا في بداية شرح هذا النوع من الاستعلامات.

 
4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
ستجد أنك لن تحتاج إلا إلى الحقول التالية:
من جدول الطالب Student Table:
  • الرقم
  • الاسم_الأول
  • الاسم_الأخير
من جدول المادة Course Table:
  • اسم_المادة
من جدول الدرجات Grades Table:
  • درجة_المادة


     
إذن قم بسحب هذه الحقول واحدا تلو الآخر وإسقاطها في الخلايا المحاذية للسطر حقل Field كما بالصورة:



 
5- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة 
وستظهر لك النتيجة التالية:



لقد قمت بإنشاء استعلامك بنجاح :) .
ولكني أود أن أشرح لك نقطة هامة، جعلتني أشرح لك طريقة ربط الجداول وإنشاء العلاقات فيما بينها قبل شرح الاستعلامات!
قمنا في هذا الاستعلام بإظهار اسم كل طالب وأسماء المواد التي درسها ومن ثم الدرجة التي حصل عليها الطالب في تلك المواد، أي قمنا بتجميع عدة بيانات من جداول مختلفة ولكنها ذات علاقة فيما بينها ، فكيف تم ذلك؟

هنا تحققت هنا الفائدة من ربط الجداول ألا وهي تجميع بيانات مختلفة من جداول مختلفة بحيث يجمع هذه البيانات معا علاقة واحدة، فيتم إظهار بيانات أحد الجداول مع السجلات المناظرة لتلك البيانات في الجدول الآخر.

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


6- قم بحفظ استعلامك لتقوم بتشغيله كلما احتجت لذلك.


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

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

مثال3: أنشئ استعلام على جدول الطالب Student Table وذلك لعرض حقول الطلاب الخريجين، واحفظ الاستعلام باسم "استعلام عن الطلاب الخريجين"؟

ملاحظة: سنستخدم هذا المثال أيضا في استعلام إنشاء جدول Make-Table Query لإنشاء جدول خاص بالطلاب الخريجين، سنتناول ذلك بالتفصيل في الدرس القادم بإذن الله.
الحل:
1- من الكائنات الموجودة في اليسار اختر استعلامات Queries ، ثم انقر على جديد New واختر الاستعلام في عرض التصميم Design View.



2- ستظهر لك نافذة إظهار جدول Show Table ، تستطيع الآن إضافة الجداول التي ستحتاجها لتنفيذ الاستعلام.
وكما يتضح لك من السؤال أنك ستحتاج إلى جدول الطالب Student Table فقط، فقم بإضافته ، ثم أغلق النافذة.




3- من قائمة استعلام Query اختر استعلام تحديد Select Query كما يتضح لك من الصورة، وستجد هذا الاختيار محدد تلقائيا لأن آكسس يعتبره الخيار الافتراضي.


 
4- الآن عد لقراءة السؤال مرة أخرى، وحدد الحقول التي ستحتاجها في هذا الاستعلام.
ستحتاج لجميع حقول جدول الطالب Student Table أليس كذلك؟ :)

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



إذن قم بسحب جميع الحقول واحدا تلو الآخر وإسقاطها في الخلايا المحاذية للسطر حقل Field .


5- أنت تريد فقط استخراج حقول الطلاب الخريجين فقط، إذن أمام السطر المحاذي لمعايير Criteria وتحت الحقل "خريج؟" قم بكتابة الشرط "Yes" للدلالة على أنك تريد الحقول التي يكون عندها قيمة هذا الحقل تساوي "نعم" أو “Yes” أي أن الطالب خريج.
لا أريدك أن تقوم بتنفيذ أي خطوه في الحل دون أن تفهمها جيدا، هل تعرف لم تمكنا من كتابة هذا الشرط مع هذا الحقل بالذات؟!
الإجابة ببساطة أننا جعلنا الـData Type لهذا الحقل منذ إنشائه عبارة عن "Yes/No" وبالتالي فإن هذا الحقل لن يأخذ إلا إحدى القيمتين:

Yes أو نعم: إذا قمت بوضع إشارة صح في هذا الحقل عند إدخال بيانات أحد الطلاب مما يعني أنه فعلا خريج.
No أو لا: إذا لم تقم بوضع إشارة صح في هذا الحقل عند إدخال بيانات أحد الطلاب غير الخريجين.

كما بالصورة:


6- الآن قم بفتح الاستعلام في عرض ورقة البيانات Datasheet View بالضغط على الأيقونة 


أو بتشغيل الاستعلام بالضغط على زر تشغيل Run 



وستظهر لك النتيجة التالية:



لقد قمت بإنشاء استعلامك بنجاح :) .


 
ملاحظة:
أنت قمت بإنشاء هذا الاستعلام أساسا لاستخراج حقول الطلاب المتخرجين، فإذا كنت لا تريد إظهار الحقل الأخير "خريج؟"، فكل ما عليك هو إلغاء علامة الصح الموجودة تحت الحقل "خريج؟" والمحاذية للسطر Show في عرض التصميم Design View للاستعلام.
وستظهر لك النتيجة عند تشغيل الاستعلام مرة أخرى بالشكل التالي:





7- أخيرا قم بحفظ استعلامك





 

المصدر: سوالم للكمبيوتر
جزى الله خيرا كل من ساهم فيه

ليست هناك تعليقات:

إرسال تعليق