الاختلاف في تنسيق التقريريرجع الى ان الورق سيتغير من مقاس الى آخر بينما ابعاده ثابته في الخصائص وهذا شيء بديهي ، لذا يجب ان يصاحب التغيير في الورق تغييرا في المسافات والهوامش فنحن بحاجة اولا الى معرفة المقاسات الافتراضية المناسبة لكل نوع ثم تضمين الكود هذه المقاسات ، هذا ما اعتقده ومع ذلك لم احاول تطبيقه ، والله اعلم
اما ما ذكرته لكم من امكانية اختيار العديد من المقاسات فهذا يمكن تحقيقه في الكود المرفق حيث يمكن انشاء متغير يمثل اسم الطابعة ومصدره مربع قائمة في النموذج
Public Function Rline()
Dim Lsum As Double
Lsum = Reports!R1![zz]
Rline = Lsum
End Function
Private Sub طباعه_Click()
On Error GoTo Err_طباعه_Click
DoCmd.OpenReport "R1", acViewPreview, "", "", acNormal
'DoCmd.Minimize
If Rline <= 10 Then
Reports!R1.Printer.PaperSize = acPRPSA5
DoCmd.OpenReport "R1", acNormal
Else
Reports!R1.Printer.PaperSize = acPRPSA4
DoCmd.OpenReport "R1", acNormal
End If
DoCmd.Close acReport, "R1"
Exit_طباعه_Click:
Exit Sub
Err_طباعه_Click:
MsgBox Err.Description
Resume Exit_طباعه_Click
End Sub
zz هو حقل غير منظم في تذييل التقرير لاستخراج عدد السجلات ويكتب في مصدر عنصر التحكم العبارة التالية :
=Count(*)