بشكل افتراضي، يمكنك طباعة التقارير التي لا تحتوي على أي سجلات. لحل هذه المشكلة، يمكنك استخدام ماكرو أو التعليمات البرمجية ل Microsoft Visual Basic for Applications (VBA) للكشف عن عدم وجود سجلات في تقرير ثم إلغاء عملية الطباعة. تشرح الخطوات في هذه المقالة كيفية استخدام كلتا التقنيات.
ماذا تريد أن تفعل؟
قد ترغب على الأرجح في إلغاء طباعة تقرير عندما لا يحتوي على أي سجلات. على سبيل المثال، إذا بدأت في بيع منتج جديد، فمن المرجح أن تكون هناك فترة زمنية لم تسجل فيها بعد أي مبيعات. وبالتالي، يجب أن تفكر في إمكانية عدم احتواء بعض التقارير على أي سجلات تفاصيل، وقد لا تحتوي الدالات التجميعية، مثل الدالة Count، على أي شيء يمكن حسابه. لمعالجة مثل هذا التكرار بشكل جيد، يمكنك إنشاء ماكرو يلغي مهمة الطباعة. يمكنك أيضا إضافة بضعة أسطر من التعليمات البرمجية ل VBA الموضوعة بعناية للقيام بالشيء نفسه. VBA هي لغة البرمجة التي Access بها.
يمكنك إضافة الماكرو أو التعليمات البرمجية ل VBA إلى إجراء حدث On No Data للتقرير. Access بتشغيل الحدث "عند عدم وجود بيانات" كلما قمت بتشغيل تقرير لا يوجد به سجلات. يعرض الماكرو التعليمات البرمجية ل VBA الموضحة في هذه المقالة رسالة مناسبة ويلغي طباعة التقرير عندما لا يحتوي هذا التقرير على أي بيانات. عند إضافة ماكرو أو التعليمات البرمجية ل VBA إلى إجراء حدث "عند عدم وجود بيانات"، يتم تشغيل الماكرو أو التعليمات البرمجية ل VBA كلما قمت بفتح تقرير لا يحتوي على أي سجلات. عندما تنقر فوق موافق لإغلاق أي من رسالتي التنبيه، يغلق الماكرو أيضا التقرير الفارغ. عند إضافة الماكرو أو التعليمات البرمجية ل VBA إلى التقرير، لن يتم فتح تقرير فارغ عند محاولة عرضه في طريقة عرض التقرير أو طريقة عرض التخطيط، ولكن يمكنك فتح التقرير في طريقة عرض التصميم.
استخدام ماكرو لإلغاء الطباعة
يعرض الماكرو الموضح في هذا المقطع رسالة تنبيه عند محاولة طباعة تقرير فارغ. عندما تنقر فوق "موافق" لإغلاق مربع الرسالة، يقوم الماكرو تلقائيا بإلغاء عملية الطباعة. إذا لم تقوم بتضمين رسالة تنبيه، ستظهر كما لو لم يحدث أي شيء عند محاولة طباعة التقرير ، شيء قد يخلط بين مستخدمي التقرير.
إنشاء الماكرو
-
في "جزء التنقل"، انقر ب زر الماوس الأيمن فوق التقرير الذي تريد تغييره، ثم انقر فوق "طريقة عرض التصميم".
-
على علامة التبويب تصميم ، في المجموعة إظهار/إخفاء، انقر فوق ورقة الخصائص.
-أو-
انقر نقرا مزدوجا فوق المربع في الزاوية العلوية اليمنى أو اليسرى من التقرير، استنادا إلى الإعدادات الإقليمية وإعدادات اللغة.
-
انقر فوق علامة التبويب "حدث"، وفي مربع الخاصية "عند عدم وجود بيانات"، انقر فوق
.
يظهر مربع الحوار "اختيار منشئ".
-
انقر فوق "منشئ الماكرو"،ثم انقر فوق "موافق".
يبدأ تشغيل مصمم الماكرو ويعرض ماكرو فارغ.
-
في القائمة المنسدل الخاصة ب إجراءات الماكرو في نافذة تصميم الماكرو، حدد MessageBox من القائمة.
-
في مربع الرسالة، اكتب النص لرسالة التنبيه.
على سبيل المثال، يمكنك إدخال ما يلي: لا توجد سجلات للتقرير.
-
يمكنك، بشكل اختياري، تغيير قيمة الوسيطة في مربع Beep من "نعم" إلى "لا"، وفي قائمة "النوع"، حدد نوع الأيقونة التي تريد ظهورها في رسالة التنبيه.
-
في المربع "العنوان"، اكتب عنوان رسالة التنبيه.
على سبيل المثال، يمكنك إدخال "بلا سجلات".
-
حدد القائمة المنسدل الخاصة ب إجراءات الماكرو أسفل إجراء MessageBox، ثم حدد CancelEvent.
-
على علامة التبويب "تصميم"، في المجموعة "إغلاق"، انقر فوق "حفظ".
-
على علامة التبويب تصميم، في المجموعة إغلاق، انقر فوق إغلاق. إذا تظهر رسالة تنبيه وتسألك إن كنت تريد حفظ التغييرات على الماكرو وخصية التقرير، انقر فوق "نعم"، وأغلق التقرير، واحفظ التغييرات إذا طلب منك ذلك، وتابع إلى الخطوات التالية لاختباره.
اختبار الماكرو
-
في جزء التنقل، انقر ب زر الماوس الأيمن فوق التقرير الذي يحتوي على الماكرو وانقر فوق "طباعة". استنادا إلى الخيارات التي اخترتها، يعرض Access رسالة تنبيه.
عندما تنقر فوق موافق لإغلاق الرسالة، يوقف الإجراء CancelEvent عملية الطباعة. نظرا لعدم تحديد أي حدث آخر (مثل فتح التقرير لعرضه)، يتم إغلاق التقرير.
استخدام التعليمات البرمجية ل VBA لإلغاء الطباعة
تعمل التعليمات البرمجية ل VBA الموضحة هنا بشكل يشبه إلى حد كبير الماكرو الموضح في المقطع السابق، حيث تعرض رسالة تنبيه عندما تفتح تقريرا فارغا، ثم تلغي عملية الطباعة عند إغلاق رسالة التنبيه.
إضافة التعليمات البرمجية ل VBA
-
في "جزء التنقل"، انقر ب زر الماوس الأيمن فوق التقرير الذي تريد تغييره، ثم انقر فوق "طريقة عرض التصميم".
ملاحظة: لإكمال هذا الإجراء، استخدم تقريرا لا يحتوي على سجلات.
-
على علامة التبويب تصميم ، في المجموعة إظهار/إخفاء، انقر فوق ورقة الخصائص.
-أو-
انقر نقرا مزدوجا فوق المربع في الزاوية العلوية اليمنى أو اليسرى من التقرير، استنادا إلى الإعدادات الإقليمية وإعدادات اللغة.
-
انقر فوق علامة التبويب "حدث"، وفي مربع الخاصية "عند عدم وجود بيانات"، انقر فوق
.
يظهر مربع الحوار "اختيار منشئ".
-
انقر فوق "منشئ التعليماتالبرمجية"، ثم انقر فوق "موافق".
يبدأ تشغيل محرر Visual Basic ويعرض إجراء حدث فارغ.
-
اكتب التعليمات البرمجية التالية في محرر Visual Basic Report_NoData يظهر الإجراء كما يلي تماما عند العمل:
Private Sub Report_NoData (Cancel As Integer)
MsgBox "There are no records to report", vbExclamation, "No Records"
Cancel = True
End Sub -
عند الانتهاء، انقر فوق "ملف"، ثم انقر فوق "حفظ".
-
انقر فوق "ملف"،ثم انقر فوق "إغلاق والعودة إلى Microsoft Access".
-
أغلق التقرير المفتوح، ثم انقر فوق "نعم" لتأكيد عملية الحفظ.
-
في "جزء التنقل"، انقر ب زر الماوس الأيمن فوق التقرير الذي قمت بتغييره للتو، ثم انقر فوق "طباعة". استنادا إلى الخيارات التي اخترتها، يعرض Access رسالة تنبيه.
يستخدم Report_NoData الخاص ب MsgBox الدالة MsgBox لعرض الزر "لا توجد سجلات للتقرير عن رسالة" وزر "موافق". عندما تنقر فوق موافق،يوجه السطر "Cancel=True" في الإجراء Access لإلغاء التقرير. الإلغاء هو وسيطة يتم تمريرها تلقائيا إلى إجراء الحدث، كما يتم التحقق منها دائما بواسطة Access عند اكتمال إجراء الحدث.