تفضل وحدة نمطية مع الشرح يمكن من خلالها طباعة الصفحات من تقريرين تنازليا مهما بلغت الصفحات
وايضا يمكن تحديد نقطة البداية او صفحة البداية
فلو فرضنا ان لديك تقريرين كل واحد منهما يحتوي على 100 صفحة وتريد ان تبدأ الطباعة من الصفحة رقم 20 تنازليا
فكل ما عليك هو ان تضع رقم صفحة البداية في الحقل المخصص في النموذج
افتح محرر الفيجوال والصق الوحدة النمطية التالية :
Function PrintDscOrder(Rep1 As String, Rep2 As String)
Dim PgNum As Integer, _
PgNum2 As Integer, PagesCnt As Integer 'اعلان عن متغيرات رقمية تمثل مجمل الصفحات وارقام الصفحات المحددة
PagesCnt = Me.RepageCnt.Value 'مجمل الصفحات = قيمة الحقل في النموذج
For PgNum = PagesCnt To 1 Step -2 'دوارة تنازلية زوجية
PgNum2 = PgNum - 1 'تحديد رقم الصفحة الثانية وهي هنا اقل من الحالية بواحد
DoCmd.SelectObject acReport, Rep1, True 'تحديد التقرير الأول
DoCmd.PrintOut , PgNum, PgNum2, 1 'طباعة الصفحات المحددة
DoCmd.SelectObject acReport, Rep2, True ' تحديدالتقرير الثاني
DoCmd.PrintOut , PgNum, PgNum2, 1 'طباعة الصفحات المحددة
Next PgNum 'عودة لبداية الدوران
End Function 'تصميم وترتيب ابوخليل
وفي حدث بعد النقر لزر الطباعة الصق السطر التالي :
Call PrintDscOrder("استقطاعات", "استحقاقات")
طباعةالصفحات تنازليا من تقريرين.rar