قواعد البيانات
الحلقة الثامنة
الاستعلامات المتقدمة
الجزيرة-العدد-22-ربيع أول 1424هـ
http://search.al-jazirah.com.sa/digimag/25052003/tm52.htm
حتى تتمكن من بناء استعلام أكثر مرونة وأكثر تفاعلية مع المستخدم، يجب أن يكون هذا الاستعلام في ذاته يحقق أكثر من استعلام، بمعنى آخر يجب أن تجعل استعلامك يغني المستخدم عن الكثير من الاستعلامات، فعلى سبيل المثال عندما قمنا بإنشاء استعلام يبحث عن الموظفين ذوي الرواتب الأكثر من 3000ريال، ويمكن أن نبني استعلام آخر يبحث عن الموظفين الحاصلين على رواتب أعلى من 5000ريال، وثالث ورابع وهكذا....، ولكن عند بناء استعلام يطلب عند تشغيله قيمة الراتب ليبحث لك عن الموظفين الذين يحصلون على راتب أكبر منه، وهكذا يتم كتابة راتب جديد في كل مرة يتم تنفيذ الاستعلام، وبالتالي نكون قد أنشأنا استعلام واحد يحقق أكثر من استعلام، ولعمل ذلك الاستعلام نقوم بالنقر على "استعلامات" من الكائنات، ثم نقوم بتشغيل "إنشاء استعلام في طريقة عرض التصميم" ونختار جدولي "الموظفون" و "الأقسام" ونختار حقول "اسم_الموظف" و "الراتب" و "اسم_القسم" لتظهر هذه الحقول أسفل النافذة، ونكتب في "المعايير" الخاصة بحقل "الراتب" الرسالة التي نريد أن تظهر بمجرد بدء الاستعلام مسبوقة بعلامة أصغر من "<" وتوضع هذه الرسالة بين أقواس مريعة كالتالي:
[أدخل الحد الأدنى للراتب]<
وبالنسبة لناتج الاستعلام من المفضل ألا يظهر بشكل ورقة البيانات كما هو الحال الآن ولكن يعرض على هيئة نموذج يمكن التحكم به وبمكوناته وبظهوره بالشكل الذي تريد، وتتم هذه العملية عن الطريق الذهاب إلى "النماذج" ثم اختيار "إنشاء نموذج باستخدام المعالج" ونختار من القائمة الاستعلام الذي تم تصميمه سابقاً ونحدد جميع الحقول الخاصة بهذا الاستعلام ثم نسمي هذا النموذج بأي اسم يوضح الهدف من هذا الاستعلام، وبالتالي يصبح الآن بمجرد تشغيل هذا النموذج يطلب من قيمة الحد الأدنى للراتب ليتم عرض النتائج الخاصة بالاستعلام في هذا النموذج، ولكن السؤال هنا أنه من المفترض أن يتم عمل نموذج في البداية ويسمى مثلاً "واجهة_الاستعلام" يحتوي هذا النموذج على عنصراً يتم كتابة الحد الأدنى للراتب به وعند تشغيل هذا النموذج وبعد كتابة الحد الأدنى للراتب في المكان المخصص لذلك يتم النقر على زر أمر يشغل النموذج المبني على الاستعلام السابق الذي بدوره يأخذ قيمة الحد الأدنى للراتب من نموذج "واجهة_الاستعلام" ليعرض نتائج الاستعلام، ولكي تتم هذه العملية يتم في البداية عمل نموذج في طريقة عرض التصميم ثم اختيار عنصر "مربع نص" من "مربع الأدوات" ومن خصائص هذا العنصر في تبويب "غير ذلك" نكتب في "الاسم" اسم لهذا العنصر وهو "الحد_الأدنى"، ثم نقوم بعد ذلك باختيار "زر أمر " من "مربع الأدوات" فيبدأ عمل المعالج فنختار "عمليات النماذج" ومنها نختار "فتح نموذج" ثم نختار النموذج الذي تم إنشاءه على الاستعلام
ونكتب الاسم الذي نريده على زر الأمر وليكن "إظهار ناتج الاستعلام"، ثم نضيف عنصر تسمية في أعلى النموذج ونكتب به "الاستعلام عن موظفي رواتب معينة"، ونلاحظ أنه حتى الآن لم يتم الربط بين الاستعلام وبين نموذج "واجهة_الاستعلام" حتى يستطيع أن يأخذ الاستعلام قيمة الحد الأدنى
للراتب من هذا النموذج، ولكي تتم عملية الربط هذه نذهب إلى الاستعلام، وفي عرض التصميم نذهب إلى المعايير الخاصة بحقل الرتب ونكتب بها الجملة التالية:
<FORMS!واجهة_الاستعلام!الحد_الأدنى
وبذلك نكون قد أشرنا في الاستعلام إلى المكان الذي سيأخذ منه قيمة الحد الأدنى للراتب التي سيبنى عليها نتائج الاستعلام، وفي النهاية نلاحظ أنه أي استعلام يعتمد على قيمة مدخلة من المستخدم ينبغي أن يتكون من استعلام، ونموذج مبني عليه لعرض النتائج به، ونموذج آخر هو واجهة الاستعلام الذي يكتب به القيم أو الشروط التي يجب أن يحققها الاستعلام، وفي الحلقة القادمة عن شاء الله تعالى سوف نتعرض إلى كيفية عمل بعض الإحصائيات في الاستعلام واستخدام بعض الدوال به.
م. سيد سعد الدين
عضو هيئة تدريس بقسم الحاسب الآلي
كلية المعلمين بالرياض