عندما تريد أن يطلب استعلام في Access إدخالا في كل مرة تقوم فيها بتشغيله، يمكنك إنشاء معلمة استعلام.
يمكنك أيضا إنشاء نموذج لتجميع قيم المعلمات التي سيتم استخدامها لتقييد السجلات التي تم إرجاعها للاستعلامات أو النماذج أو التقارير. توضح هذه المقالة كيفية استخدام النماذج لتحسين استخدامك للمعلمات في الاستعلامات والنماذج والتقارير.
في هذه المقالة
نظرة عامة
يمكنك استخدام المعايير في استعلام معلمة في Access لتقييد مجموعة السجلات التي يرجعها الاستعلام. قد تجد مربعات الحوار التي يوفرها استعلام معلمة غير كافية لأغراضك. في مثل هذه الحالات، يمكنك إنشاء نموذج يلبي احتياجات مجموعة المعلمات بشكل أفضل. توضح هذه المقالة كيفية إنشاء نموذج يجمع معلمات الاستعلام والتقرير. تفترض هذه المقالة أنك على دراية بإنشاء الاستعلامات وتعريف المعلمات في الاستعلامات. كحد أدنى، يجب أن تكون على دراية بإنشاء استعلام تحديد قبل المتابعة.
توفر هذه المقالة أمثلة على استخدام المعلمات في الاستعلامات. ولا يوفر مرجعا شاملا لتحديد المعايير.
-
لمزيد من المعلومات حول كيفية إنشاء استعلام تحديد، راجع المقالة إنشاء استعلام تحديد بسيط.
-
لمزيد من المعلومات حول الاستعلامات بشكل عام، راجع المقالة مقدمة إلى الاستعلامات.
-
لمزيد من المعلومات حول تعريف المعلمات في الاستعلامات، راجع المقالة استخدام المعلمات لطلب الإدخال عند تشغيل استعلام.
-
لمزيد من المعلومات حول كيفية تحديد المعايير في الاستعلامات، راجع المقالة أمثلة على معايير الاستعلام.
استخدام المعلمات في الاستعلامات
استخدام معلمة في أحد الاستعلامات يعد بنفس سهولة إنشاء استعلام يستخدم المعايير. يمكنك تصميم استعلام لتتم مطالبتك بمعلومة واحدة مثل رقم الجزء أو أكثر من معلومة مثل تاريخين. لكل معلمة يظهر مربع حوار منفصل من قِبل معلمة الاستعلام يقوم بمطالبتك بإدخال قيمة لتلك المعلمة.
إضافة معلمة إلى استعلام
-
قم بإنشاء استعلام تحديد، ثم افتح الاستعلام في طريقة عرض التصميم.
-
في صف المعايير لحقل تريد تطبيق معلمة له، اكتب النص الذي تريد أن يعرضه مربع حوار المعلمة، محاطا بأقواس مربعة، على سبيل المثال:
[تاريخ البدء]
عند تشغيل استعلام المعلمة، تظهر المطالبة في مربع حوار بدون الأقواس المربعة.
يمكنك أيضا استخدام تعبير مع مطالبات المعلمة، على سبيل المثال:
بين [تاريخ البدء] و [تاريخ الانتهاء]
ملاحظة: يظهر مربع حوار منفصل لكل مطالبة معلمة. في المثال الثاني، يظهر مربعا حوار: واحد لتاريخ البدء والآخر لتاريخ الانتهاء.
-
كرر الخطوة 2 لكل حقل تريد إضافة معلمات إليه.
يمكنك استخدام الخطوات السابقة لإضافة معلمة إلى أي من أنواع الاستعلامات التالية: Select أو Crosstab أو Append أو Make-table أو Update.
يمكنك أيضا إضافة معلمة إلى استعلام موحد باتباع الخطوات التالية:
-
افتح استعلام الاتحاد في طريقة عرض SQL.
-
أضف عبارة WHERE التي تحتوي على كل حقل من الحقول التي تريد المطالبة بمعلمة لها.
إذا كانت عبارة WHERE موجودة بالفعل، فتحقق لمعرفة ما إذا كانت الحقول التي تريد استخدام مطالبة معلمة لها موجودة بالفعل في العبارة، وإذا لم تكن موجودة، فأضفها.
-
بدلا من استخدام معيار في عبارة WHERE، استخدم مطالبة معلمة.
تحديد أنواع بيانات المعلمات
يمكنك أيضاً تحديد نوع البيانات التي يجب أن تقبلها المعلمة. يمكنك تحديد نوع البيانات لأي معلمة، ولكن من المهم بشكل خاص تحديد نوع البيانات للبيانات الرقمية أو العملة أو التاريخ/الوقت. عند تحديد نوع البيانات التي يجب أن تقبلها المعلمة، يرى المستخدمون رسالة خطأ أكثر وضوحاً إذا أدخلوا نوع البيانات الخطأ، مثل إدخال نص عندما يتطلب الأمر إدخال عملة.
ملاحظة: إذا تم تكوين معلمة لقبول بيانات نصية، يتم تفسير أي إدخال على أنه نص، ولا يتم عرض رسالة خطأ.
لتحديد نوع البيانات للمعلمات في استعلام، اتبع الخطوات التالية:
-
عندما يكون الاستعلام مفتوحاً في طريقة عرض التصميم، من علامة التبويب تصميم، في المجموعة إظهار/إخفاء، انقر فوق معلمات.
-
في مربع الحوار معلمات الاستعلام، في العمود المعلمة، اكتب المطالبة الخاصة بكل معلمة ترغب في تحديد نوع البيانات لها. تأكد من تطابق كل معلمة مع المطالبة التي تستخدمها في الصف المعايير ضمن شبكة تصميم الاستعلام.
-
في العمود نوع البيانات، حدد نوع البيانات لكل معلمة.
إنشاء نموذج يجمع المعلمات
على الرغم من أن استعلامات المعلمات تتميز بمربع حوار مضمن يجمع المعلمات، فإنها توفر وظائف أساسية فقط. باستخدام نموذج لتجميع المعلمات، يمكنك الحصول على الميزات التالية:
-
القدرة على استخدام عناصر التحكم الخاصة بنوع البيانات، مثل عناصر تحكم التقويم للتواريخ.
-
استمرار المعلمات التي تم جمعها، بحيث يمكنك استخدامها مع أكثر من استعلام واحد.
-
القدرة على توفير مربع تحرير وسرد أو مربع قائمة لمجموعة المعلمات، مما يتيح لك الاختيار من قائمة بقيم البيانات المتوفرة.
-
القدرة على توفير عناصر تحكم للوظائف الأخرى، مثل فتح استعلام أو تحديثه.
يوضح الفيديو التالي كيف يمكنك إنشاء نموذج بسيط لجمع معلمات استعلام بدلا من استخدام مربعات الحوار المقترنة عادة باستعلامات المعلمات.
إنشاء نموذج يجمع معلمات لتقرير
هناك عدة طرق يمكنك من خلالها التعامل مع هذا السيناريو، لكننا سنعرض تقنية واحدة فقط باستخدام وحدات الماكرو في الغالب. اتبع هذه الخطوات لإنشاء نموذج يجمع معلمات لتقرير.
الخطوة 1: إنشاء نموذج يقبل الإدخال
-
على علامة التبويب إنشاء ، في المجموعة نماذج ، انقر فوق تصميم النموذج.
-
في طريقة عرض التصميم، اضغط على F4 لعرض ورقة الخصائص ثم حدد خصائص النموذج، كما هو موضح في الجدول التالي.
الخاصية
الإعداد
Caption
أدخل الاسم الذي تريد ظهوره في شريط العنوان الخاص بالنموذج.
طريقة العرض الافتراضية
نموذج مفرد
السماح بعرض النموذج
نعم
السماح بعرض ورقة البيانات
لا
السماح بعرض PivotTable
لا
السماح بعرض PivotChart
لا
أشرطة التمرير
لا
محددات السجلات
لا
أزرار التنقل
لا
نمط الحدود
الحوار
-
لكل معلمة تريد أن يجمعها النموذج، انقر فوق مربع نص في المجموعة عناصر التحكم في علامة التبويب تصميم .
-
قم بتعيين خصائص مربعات النص، كما هو موضح في الجدول التالي.
الخاصية
الإعداد
الاسم
أدخل اسما يصف المعلمة، على سبيل المثال، StartDate.
التنسيق
اختر تنسيقا يعكس نوع بيانات حقل المعلمة. على سبيل المثال، حدد التاريخ العام لحقل تاريخ.
-
احفظ النموذج وامنحه اسما، مثل frmCriteria.
الخطوة 2: إنشاء وحدة نمطية للتعليمات البرمجية للتحقق مما إذا كان نموذج المعلمة قد تم تحميله بالفعل
-
على علامة التبويب إنشاء في مجموعة وحدات الماكرو & التعليمات البرمجية ، انقر فوق الوحدة النمطية.
يتم فتح وحدة نمطية جديدة في محرر Visual Basic.
-
اكتب التعليمات البرمجية التالية أو الصقها في محرر Visual Basic:
Function IsLoaded(ByVal strFormName As String) As Boolean Dim oAccessObject As AccessObject Set oAccessObject = CurrentProject.AllForms(strFormName) If oAccessObject.IsLoaded Then If oAccessObject.CurrentView <> acCurViewDesign Then IsLoaded = True End If End If End Function
-
احفظ الوحدة النمطية باسم فريد، ثم أغلق محرر Visual Basic.
الخطوة 3: إنشاء ماكرو يتحكم في النموذج والتقرير
باستخدام ميزات الماكرو الفرعية لوحدات ماكرو Access، يمكننا تحديد جميع الخطوات المطلوبة التي نحتاج إلى اتخاذها في ماكرو واحد. سننشئ أربعة خريطة فرعية - فتح مربع الحوار وإغلاق مربع الحوار وموافق وإلغاء الأمر - للتحكم في المهام المختلفة المطلوبة لهذا الإجراء. باستخدام لقطة الشاشة أدناه كدليل، قم بإنشاء ماكرو جديد باستخدام العلامات الفرعية والإجراءات التالية. ملاحظة، على سبيل المثال، يسمى نموذج المعلمة frmCriteria. اضبط الماكرو لمطابقة اسم النموذج الذي أنشأته سابقا. ستحتاج أيضا إلى التأكد من النقر فوق إظهار كافة الإجراءات في علامة التبويب تصميم لعرض جميع إجراءات الماكرو.
احفظ الماكرو وأغلقه. امنح الماكرو اسما، على سبيل المثال، Date Range Macro.
الخطوة 4: إضافة زري الأمر "موافق" و"إلغاء الأمر" إلى النموذج
-
أعد فتح نموذج المعلمة الذي أنشأته سابقا في طريقة عرض التصميم.
-
تأكد من عدم تحديد استخدام معالجات التحكم في المجموعة عناصر التحكم في علامة التبويب تصميم .
-
ضمن علامة التبويب تصميم في مجموعة عناصر التحكم، انقر فوق زر.
-
ضع المؤشر أسفل مربعات النص في النموذج، ثم اسحب لإنشاء زر أمر موافق .
-
إذا لم يتم عرض ورقة الخصائص، اضغط على F4 لعرضها.
-
قم بتعيين خصائص الزر OK ، كما هو موضح في الجدول التالي.
الخاصية
الإعداد
الاسم
موافق
Caption
موافق
Default
نعم
OnClick
أدخل اسم الماكرو، على سبيل المثال، Date Range Macro.OK.
-
قم بإنشاء زر إلغاء الأمر وتعيين خصائصه، كما هو موضح في الجدول التالي.
الخاصية
الإعداد
الاسم
إلغاء
Caption
إلغاء
OnClick
أدخل اسم الماكرو، على سبيل المثال، Date Range Macro.Cancel.
-
احفظ النموذج وأغلقه.
الخطوة 5: استخدام بيانات النموذج كمعيار استعلام
-
افتح الاستعلام الذي أنشأته سابقا في طريقة عرض التصميم.
-
أدخل معايير البيانات. استخدم كائن Forms واسم النموذج واسم عنصر تحكم:
-
على سبيل المثال، في قاعدة بيانات Access (accdb.أو .mdb)، لنموذج يسمى frmCriteria، يمكنك استخدام التعبير التالي للإشارة إلى عناصر التحكم المسماة تاريخ البدء وتاريخ الانتهاء في الاستعلام:
بين [النماذج]! [frmCriteria]! [تاريخ البدء] و [النماذج]! [frmCriteria]! [تاريخ الانتهاء]
-
الخطوة 6: إضافة إجراءات الماكرو إلى أحداث التقرير
-
افتح التقرير الذي تريد استخدامه في طريقة عرض التصميم.
-
إذا لم يتم عرض ورقة الخصائص، اضغط على F4 لعرضها.
-
تأكد من أن خاصية مصدر السجلات للتقرير تستخدم استعلام المعلمة الذي حددته سابقا.
-
قم بتعيين هاتين الخاصيتين الإضافيتين للتقرير، كما هو موضح في الجدول التالي.
الخاصية
الإعداد
OnOpen
أدخل اسم الماكرو، على سبيل المثال، Date Range Macro.Open Dialog.
OnClose
أدخل اسم الماكرو، على سبيل المثال، Date Range Macro.Close Dialog.
في الحدث فتح للتقرير، سيقوم Access بتشغيل الإجراءات المحددة في الماكرو الفرعي فتح مربع الحوار لكائن ماكرو نطاق التاريخ. وبالمثل، عند إغلاق التقرير، سيقوم Access بتشغيل الإجراءات المحددة في الماكرو الفرعي إغلاق مربع الحوار لكائن ماكرو نطاق التاريخ.
-
احفظ التقرير وأغلقه.
الخطوة 7: جربها
الآن بعد أن تم إنشاء جميع عناصر Access، حان الوقت لتجربتها. افتح التقرير في طريقة عرض التقرير أو معاينة الطباعة ولاحظ أنه قبل أن يعرض Access التقرير، يتم فتح نموذج المعلمة في وضع الحوار. أدخل المعايير المطلوبة في مربعات النص التي قمت بإنشائها مسبقا ثم انقر فوق زر الأمر موافق في النموذج. ثم يخفي Access النموذج (مرئي = لا) ويفتح التقرير بالبيانات التي تطابق معاييرك فقط. يعمل هذا لأن استعلام المعلمة الذي يعتمد عليه التقرير يمكنه قراءة القيم الموجودة في عناصر التحكم في النموذج المخفي. عند إغلاق التقرير، سيقوم Access أيضا بإغلاق نموذج المعلمة.