يمكنك استخدام الإجراء ApplyFilter لتطبيق عبارة عامل تصفية أو استعلام أو SQL WHERE على جملة جدول أو نموذج أو تقرير لتقييد السجلات أو فرزها في الجدول أو السجلات من الجدول أو الاستعلام الأساسي للشكل أو التقرير. بالنسبة للتقارير، يمكنك استخدام هذا الإجراء فقط في الماكرو محددة بواسطة خاصية حدث OnOpen الخاصة للتقرير.
ملاحظة: يمكنك استخدام هذا الإجراء لتطبيق عبارة SQL WHERE فقط عند تطبيق عامل تصفية خادم. لا يمكن تطبيق عامل تصفية الخادم على مصدر السجلات الخاص بالإجراء المخزن.
ملاحظة: لا يتوفر إجراء الماكرو ApplyFilter في تطبيقات Access على الويب.
الإعداد
الإجراء ApplyFilter به الوسيطات التالية.
وسيطة الإجراء |
الوصف |
اسم عامل التصفية |
اسم عامل تصفية أو استعلام يقوم بتقييد سجلات الجدول أو النموذج أو التقرير أو فرزها. يمكنك إدخال اسم استعلام موجود أو عامل تصفية تم حفظه استعلاما في المربع "اسم عامل التصفية" في المقطع "وسيطات الإجراء" في جزء "منشئ الماكرو". ملاحظة: عند استخدام هذا الإجراء لتطبيق عامل تصفية خادم، يجب أن تكون الوسيطة "اسم عامل التصفية" فارغة. |
حيث الشرط |
عبارة SQL WHERE صالحة (بدون كلمة WHERE) أو عبارة تعبير التي تقيد سجلات الجدول أو النموذج أو التقرير. ملاحظة: في تعبير الوسيطة Where Condition، يحتوي الجانب الأيمن من التعبير عادة على اسم حقل من الاستعلام أو الجدول الأساسي للشكل أو التقرير. يحتوي الجانب الأيسر من التعبير عادة على معايير الذي تريد تطبيقه على هذا الحقل لتقييد السجلات أو فرزها. على سبيل المثال، يمكن أن تكون المعايير اسم عنصر تحكم في نموذج آخر يحتوي على القيمة التي تريد أن تطابقها السجلات في النموذج الأول. يجب أن يكون اسم عنصر التحكم مؤهلا بالكامل، على سبيل المثال: النماذج! formname! controlname يجب أن تكون أسماء الحقول محاطة علامات اقتباس مزدوجة ويجب أن تكون سلاسل حرفية محاطة علامات اقتباس مفردة. الحد الأقصى لطول الوسيطة Where Condition هو 255 حرفا. إذا كنت بحاجة إلى إدخال عبارة SQL WHERE أطول، فاستخدم الأسلوب ApplyFilter للكائن DoCmd في وحدة نمطية في Visual Basic for Applications (VBA). يمكنك إدخال عبارات عبارة SQL WHERE التي تصل إلى 32768 حرفا في VBA. |
ملاحظة: يمكنك استخدام الوسيطة "اسم عامل التصفية" إذا قمت مسبقا بتعريف عامل تصفية يوفر البيانات المناسبة. يمكنك استخدام الوسيطة Where Condition لإدخال معايير التقييد مباشرة. إذا كنت تستخدم الوسيطتين، Access تقوم بتطبيق عبارة WHERE على نتائج عامل التصفية. يجب استخدام وسيطة واحدة أو كليهما.
ملاحظات
يمكنك تطبيق عامل تصفية أو استعلام على نموذج في عرض النموذج أو طريقة عرض ورقة البيانات.
يصبح عامل التصفية وشرط WHERE الذي تطبقه إعداد الخاصية "عامل التصفية" أو "عامل تصفية الخادم" للشكل أو التقرير.
بالنسبة للجداول والنماذج، يشبه هذا الإجراء النقر فوق "تطبيق عامل التصفية/الفرز أو تطبيق عامل تصفية الخادم" في القائمة "سجلات". يقوم أمر القائمة بتطبيق عامل التصفية الذي تم إنشاؤه مؤخرا على الجدول أو النموذج، بينما يطبق الإجراء ApplyFilter عامل تصفية أو استعلام محدد.
في قاعدة بيانات Access، إذا كنت تشير إلى "تصفية" في القائمة "سجلات" ثم قمت بالنقر فوق "تصفية/فرز متقدم" بعد تشغيل الإجراء "تطبيق التصفية"، يعرض نافذة تصفية/فرز متقدم معايير التصفية التي حددتها مع هذا الإجراء.
لإزالة عامل تصفية وعرض كل سجلات جدول أو نموذج في قاعدة بيانات Access ، يمكنك استخدام الإجراء ShowAllRecords أو الأمر "إزالة عامل التصفية/الفرز" من القائمة "سجلات". لإزالة عامل تصفية في مشروع Access (adp.)، يمكنك العودة إلى نافذة تصفية الخادم حسب النموذج وإزالة كافة معايير التصفية ثم النقر فوق "تطبيق عامل تصفية الخادم" على القائمة "سجلات" على شريط الأدوات، أو تعيين الخاصية ServerFilterByForm إلى False (0).
عند حفظ جدول أو نموذج، يحفظ Access أي عامل تصفية معرف حاليا في هذا الكائن، ولكنه لن يقوم بتطبيق عامل التصفية تلقائيا في المرة التالية التي يتم فيها فتح الكائن (على الرغم من أنه سيطبق تلقائيا أي فرز قمت بتطبيقه على الكائن قبل حفظه). إذا كنت تريد تطبيق عامل تصفية تلقائيا عند فتح نموذج لأول مرة، فحدد ماكرو يحتوي على الإجراء ApplyFilter أو إجراء حدث يحتوي على الأسلوب ApplyFilter الخاص بكائن DoCmd مثل إعداد خاصية حدث OnOpen للشكل. يمكنك أيضا تطبيق عامل تصفية باستخدام الإجراء OpenForm أو OpenReport، أو الأساليب المناظرة لها. لتطبيق عامل تصفية تلقائيا عند فتح جدول لأول مرة، يمكنك فتح الجدول باستخدام ماكرو يحتوي على إجراء OpenTable، متبوع مباشرة بال الإجراء ApplyFilter.
مثال
تطبيق عامل تصفية باستخدام ماكرو
يحتوي الماكرو التالي على مجموعة من الإجراءات، يقوم كل منها بتصفية السجلات ل نموذج "قائمة هاتف العميل". وهو يعرض استخدام إجراءات ApplyFilter وShowAllRecordsو GoToControl. كما يعرض أيضا استخدام الشروط لتحديد زر تبديل في مجموعة خيارات تم تحديده في النموذج. يقترن كل صف إجراء بزر تبديل يحدد مجموعة السجلات بدءا من A وB و C وما إلى ذلك أو كل السجلات. يجب إرفاق هذا الماكرو بحدث AfterUpdate لمجموعة خيارات CompanyNameFilter.
الشرط |
الإجراء |
الوسيطات: الإعداد |
تعليق |
[CompanyNameFilters]=1 |
ApplyFilter |
حيث الشرط: [CompanyName] Like "[AÀÁÂÃÄ]*" |
يمكنك التصفية للحصول على أسماء الشركات التي تبدأ ب A أو À أو Á أو Â أو Ã أو Ä. |
[CompanyNameFilters]=2 |
ApplyFilter |
حيث الشرط: [CompanyName] Like "B*" |
يمكنك التصفية لأسماء الشركات التي تبدأ ب B. |
[CompanyNameFilters]=3 |
ApplyFilter |
حيث الشرط: [CompanyName] Like "[CÇ]*" |
تصفية أسماء الشركات التي تبدأ ب C أو Ç. |
... صفوف الإجراءات ل D إلى Y لها نفس التنسيق من A إلى C ... |
|||
[CompanyNameFilters]=26 |
ApplyFilter |
حيث الشرط: [CompanyName] Like "[ZÆØÅ]*" |
يمكنك التصفية لأسماء الشركات التي تبدأ ب Z أو Æ أو Ø أو Å. |
[CompanyNameFilters]=27 |
ShowAllRecords |
إظهار كافة السجلات. |
|
[RecordsetClone]. [RecordCount]>0 |
GoToControl |
اسم عنصر التحكم: CompanyName |
إذا تم إرجاع سجلات الحرف المحدد، فانقل التركيز إلى عنصر تحكم CompanyName. |