من اعداد أبو حمود + أشرف خليل
كتب أبو حمود :
--------------------------------------
أبسط طريقة لفتح تقرير دون معاينته وضع عملية تكرارية للطباعة مثال :
Dim I As Byte
عدد_النسخ = InputBox("أدخل عدد النسخ المطلوب طباعتها :", "عدد النسخ")
If IsNumeric(عدد_النسخ) Then
For I = I To عدد_النسخ
DoCmd.OpenReport "اسم التقرير"
Next I
Else
MsgBox "البيانات التي أدخلتها ليست بيانات رقمية .", vbCritical
End If
لإظهار مربع حوار الطباعة بعد فتح التقرير مباشرة :
DoCmd.OpenReport "اسم التقرير", acViewPreview
DoCmd.RunCommand acCmdPrint
طريقة أخرى ولكن يلزم منها فتح التقرير في المعاينة :
DoCmd.OpenReport "اسم التقرير", acViewPreview
ثم استعمل السطر التالي بعد تحديد الاختيارات فيه :
DoCmd.PrintOut [printrange][, pagefrom, pageto][, printquality][, copies][, collatecopies]
DoCmd.PrintOut نطاق الطباعة , نموذج الصفحة , صفحة إلى , نوعية الطباعة , عدد النسخ , ترتيب النسخ
مزيد من الشرح
خيارات printrange نطاق الطباعة :
acPrintAll (default) : الكل
acSelection : التحديد
acPages : صفحة
خيارات pagefrom نموذج الصفحة :
إذا اخترت في الخيار السابق acPages يجب وضع رقم بداية الصفحات المطبوعة .
خيارات pageto إلى صفحة :
إذا اخترت في الخيار ماقبل السابق acPages يجب وضع رقم نهاية الصفحات المطبوعة .
خيارات printquality نوعية الطباعة :
acDraft : مسوده
acHigh (default) : عالية
acLow : منخفضة
acMedium : متوسطة
copies عدد النسخ :
اكتب عدد النسخ رقما .
collatecopies ترتيب النسخ :
True نعم
False لا
أسهل طريقة للكود السابقة افتح ماكرو جديد واختر إجراء PrintOut وإكمال المطلوب في الأسفل وإذا أردت أن تحول الماكرو إلى إجراء VBA فاحفظ الماكرو ثم أغلقه ثم انقر على اسمه مرة واحده في لإطار قاعدة البيانا ثم من قائمة أدوات ماكرو تحويل وحدات ماكرو إلى إجراء فيوجل بيسك .
-----------------------------
كتب أشرف خليل
---------------------
مربع حوار الطابعة
الكثير منا عند ضغظ زر أمر طباعة فيؤدي ذلك إلى إلى طباعة التقرير تلقائيا حتى لو كان عدد الصفحات كثيرة . ولمن يرغب فى تحديد الصفحات قبل الطابعة يتبع ما يلي :
ضع الكود التالي على زر الطباعة فى النموذج :
كود:
DoCmd.OpenReport "ضع اسم التقرير هنا", acViewPreview
وضع الكود التالي قى حدث عند التنشيط للتقرير .
كود:
On Error Resume Next
DoCmd.RunCommand acCmdPrint
DoCmd.Close acReport, Me.name
المفروض لو الأمور ماشية بصورة صحيحة أنه عند الضغط على زر الطباعة يظهر لك الأول مربع الحوار للطابعة تحدد فيه الصفحات التي اريدها .
أشرف خليل
