إنشاء قائمة مختصرة لطباعة التقارير

تمت إضافة الدرس بتاريخ 23/8/1423هـ

يهدف هذا الدرس لتعليم كيفية إنشاء قائمة مختصرة لزر الفأرة الأيمن لطباعة التقارير عند اختيار أحدها يحدث الآتي :

1- إظهار مربع الحوار طباعة .

2- طباعة الصفحة الحالية .

3- طباعة الصفحات من إلى .

بداية يفترض أن التقارير لديك جاهزة وسيكون العمل مباشرة لإنشاء شريط أدوات جديد .

خطوات التصميم :

1- اضغط بزر الفأرة الأيمن على أي شريط أدوات ثم اختر تخصيص :

أو انقر قائمة أدوات=> تخصيص

سيظهر مربع الحوار التالي :

اضغط زر جديد والموجود في صفحة التبويب أشرطة الأدوات سيظهر مربع الحوار التالي :

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

2- الآن انقر على صفحة التبويب الأوامر ثم اضغط بزر الفأرة الأيسر على كلمة مخصص واستمر في الضغط ثم انقلها و أفلتها فوق شريط الأدوات الجديد :

كرر هذا الأمر أربع مرات -الرابع لإضافة أمر إغلاق للتقرير- ليصبح شكل الشريط هكذا :

3- الآن اضغط بزر الفأرة الأيمن على مخصص الأولى واختر خصائص :

سيظهر مربع الحوار التالي :

بجانب تسمية توضيحية اكتب مربع حوار .

باقي لنا عند الإجراء وسنعود إليها لاحقاً .

ثم اضغط زر إغلاق .

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

 

كرر هذه الطريقة مع الأزرار الباقية كالتالي :

الزر تسمية توضيحية
مخصص الثاني الصفحة الحالية
مخصص الثالث طباعة نطاق
مخصص الرابع إغلاق

انظر للشريط بعد التعديل :

والآن ننتقل لعمل الأكواد المطلوبة .

أولاً : إنشاء كود إظهار مربع حوار الطباعة :

1- أنشئ وحدة نمطية عامة بالانتقال لصفحة الوحدات النمطية في إطار قاعدة البيانات ثم نقر زر جديد وسيفتح محرر الوحدات النمطية .

2- من قائمة Insert اختر Procedure :

 

سيظهر مربع الحوار التالي :

اكتب الاسم ShowPrintDialog واختر النوع Function ثم اضغط زر Ok .

 

سيظهر سطرين في الوحدة النمطية بهذا الشكل :

Public Function ShowPrintDialog()

End Function

3- اكتب بينهما السطرين التاليين :

Public Function ShowPrintDialog()
On Error Resume Next

DoCmd.RunCommand acCmdPrint
End Function

الآن باقي ربط الزر بالكود ، أنسخ ShowPrintDialog() مع القوسين ولا تنسى حفظ الوحدة النمطية وبأي اسم لا يهم .

4- انقر بزر الفأرة الأيمن على الشريط الجديد ثم اختر تخصيص ثم اضغط على زر مربع حوار بزر الفأرة الأيمن واختر خصائص واكتب في عند الإجراء :

=ShowPrintDialog()

ثم اضغط زر إغلاق .

 

ثانياً : إنشاء كود طباعة الصفحة الحالية :

1- قم بتكرار الخطوة رقم 2 في أولاً واكتب الاسم PrintCurrentPage واختر النوع Function ثم اضغط زر Ok .

2- سيظهر سطرين في الوحدة النمطية بهذا الشكل :

Public Function PrintCurrentPage()

End Function

3- اكتب بينهما الأسطر التالية :

Public Function PrintCurrentPage()
On Error GoTo طباعة_Err
Dim CurrentPage
CurrentPage = Screen.ActiveReport.Page
DoCmd.PrintOut acPages, CurrentPage, CurrentPage, acHigh, 1, False

طباعة_Exit:
Exit Function

طباعة_Err:
MsgBox Error$
Resume طباعة_Exit
End Function

4- انقر بزر الفأرة الأيمن على الشريط الجديد ثم اختر تخصيص ثم اضغط على زر الصفحة الحالية بزر الفأرة الأيمن واختر خصائص واكتب في عند الإجراء :

=PrintCurrentPage()

ثم اضغط زر إغلاق .

ثالثاً : إنشاء كود طباعة صفحات النطاق :

1- قم بتكرار الخطوة رقم 2 في أولاً واكتب الاسم PrintRangePage واختر النوع Function ثم اضغط زر Ok .

2- سيظهر سطرين في الوحدة النمطية بهذا الشكل :

Public Function PrintRangePage()

End Function

3- اكتب بينهما الأسطر التالية :

Public Function PrintRangePage()
Dim StartRangePage, EndRangePage
10 StartRangePage = InputBox("أدخل بداية الصفحات التي ترغب في طباعتها :", "طباعة نطاق صفحات")
EndRangePage = InputBox("أدخل نهاية الصفحات التي ترغب في طباعتها :", "طباعة نطاق صفحات")

If IsNumeric(StartRangePage) = False Or IsNumeric(EndRangePage) = False Then
If MsgBox("إما رقم بداية الصفحات أو رقم نهاية الصفحات غير صالح ." & vbCrLf & vbCrLf _
& "هل ترغب في إعادة المحاولة ؟", vbQuestion + vbYesNo + vbMsgBoxRight + vbMsgBoxRtlReading, "إدخال خاطئ") = vbYes Then
GoTo 10
Else
Exit Function
End If
End If

If EndRangePage < StartRangePage Then
MsgBox "رقم نهاية الصفحات أصغر من رقم البداية .", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading
Exit Function
End If
DoCmd.PrintOut acPages, StartRangePage, EndRangePage, acHigh, 1, False

End Function

4- انقر بزر الفأرة الأيمن على الشريط الجديد ثم اختر تخصيص ثم اضغط على زر طباعة نطاق بزر الفأرة الأيمن واختر خصائص واكتب في عند الإجراء :

=PrintRangePage()

ثم اضغط زر إغلاق .

رابعاً : إنشاء كود إغلاق التقرير :

1- قم بتكرار الخطوة رقم 2 في أولاً واكتب الاسم CloseReport واختر النوع Function ثم اضغط زر Ok .

2- سيظهر سطرين في الوحدة النمطية بهذا الشكل :

Public Function CloseReport()

End Function

3- اكتب بينهما السطر التالي :

Public Function CloseReport()
DoCmd.Close
End Function

4- انقر بزر الفأرة الأيمن على الشريط الجديد ثم اختر تخصيص ثم اضغط على زر إغلاق بزر الفأرة الأيمن واختر خصائص واكتب في عند الإجراء :

=CloseReport()

ثم اضغط زر إغلاق .

خامساً : تحويل الشريط لقائمة منبثقة (قائمة مختصرة -وهذي بعد من فلسفة ميكروسوفت مرة منبثقة ومرة مختصرة والله يستر من اللي يجي ) المهم :

اضغط بزر الفأرة الأيمن على أي شريط أدوات ثم اختر تخصيص ثم في الأسفل ستجد اسم الشريط الجديد :

انقر عليه مرة واحد ثم انقر زر خصائص وسيظهر مربع الحوار التالي :

في قائمة النوع أختر منبثق :

وإذا ظهرت هذه الرسالة فانقر موافق :

ثم اضغط إغلاق ثم اضغط إغلاق .

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

سادساً : ربط التقرير بالشريط الجديد :

1- افتح التقرير المطلوب في عرض التصميم .

2- أظهر خصائص التقرير ثم في صفحة التبويب غير ذلك في خاصية شريط القوائم المختصرة اختر الشريط من القائمة .

والآن افتح التقرير في العرض العادي ثم اضغط بزر الفأرة الأيمن عليه .

إذا ظهرت لك القائمة بصورة غير مرتبة وتريد إعادة ترتيب القائمة انظر الصورة :

انقر بزر الفأرة الأيمن على أي شريط أدوات واختر تخصيص وفي صفحة التبويب أشرطة الأدوات انقر على المربع بجوار قوائم مختصرة بحيث تظهر فيه علامة صح :

سيظهر شريط قوائم طويل في الأعلى :

وهو يمثل جميع القوائم المختصرة في الأكسس .

يهمنا منه ما تحت مخصص -وهو خاص بالقوائم المختصرة التي ينشأها المستخدم- ، انقر على كلمة مخصص وسيظهر اسم قائمتنا تحته وفيها كل البنود المطلوبة :

الآن انقر على أي بند -مع الاستمرار في النقل- وارفعه للأعلى أو اخفضه للأسفل ، انظر للقائمة بعد إعادة الترتيب :

هنا إغلاق عملها غير ما سبق فمن الأفضل وضع خط قبلها ويسمى في الأكسس بدء مجموعة انقر بزر الفأرة الأيمن على إغلاق واختر  بدء مجموعة :

الآن اضغط إغلاق .

القائمة بعد التعديل :

إذا أردت وضع مجموعة البنود في قائمة لوحدها فانقر على أي شريط أدوات ثم اختر تخصيص ثم أظهر شريط القوائم المختصرة -كما سبق- ثم في صفحة التبويب الأوامر انتقل إلى الأسفل في القائمة اليمنى وانقر على قائمة جديدة :

 ومن القائمة اليسرى انقر على قائمة جديدة ثم انقلها مع الاستمرار بالضغط على الزر الأيمن ثم ضع المؤشر دون إفلات الزر على مخصص ثم على قائمة مختصرة للتقارير ثم أفلتها كأول بند في القائمة التي تظهر على اليسار فوق أي بند من البنود في القائمة .

الآن انقل البنود التي تحتها -ما عد إغلاق- إلى داخلها بالنقر على كل بند ونقله إلى الجهة اليسرى المتفرعة من القائمة ثم أفلته عليها انظر الصورة :

وبعد اكتمال النقل يلزم تغيير اسم القائمة فاضغط عليها بزر الفأرة الأيمن واختر خصائص وفي حقل الاسم اكتب طباعة التقرير مثلا :

ثم اضغط Enter ثم اضغط إغلاق .

الآن انظر صورة القائمة على التقرير :

يمكنك إضافة صورة بجانب كل بند واختيارها من قائمة الصور أو رسمها :

كما يمكنك نسخ أي صورة من على أي زر في أي برنامج من برامج الأوفس ولصقها على القائمة .

 

مواضيع مرتبطة :

- إنشاء شريط أدوات لطباعة التقارير

- كيف تستورد قائمة مختصرة للقاعدة الحالية

مثال بالأكسس 97

الأمثلة مضغوطة

تحتاج إلى برنامج فك الضغط

انقر هنا لتحميل البرنامج

مثال بالأكسس 2000