اذهب الي المحتوي
أوفيسنا

مشكلة .. شريط ادوات التقرير يطبع النموذج !


jandbi

الردود الموصى بها

السلام عليكم ..

قمت بعمل شريط ادوات خاص للتقارير وارفقته بقاعدة بياناتي ..

عند محاولة طباعة التقرير المفتوح يقوم بطباعة التقرير والنموذج المفتوح ايضاً ..!؟

علماً أني معدل خصائص النموذج والتقرير : منبثق ومشروط الى ( نعم )

وهذا كود لطباعة التقرير داخل زر الادوات

DoCmd.RunCommand acCmdPrint

اين المشكلة ؟!

تم تعديل بواسطه jandbi
رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته

جرب هذا الكود:

Docmd.OpenReport "RepName", acViewNormal

طبعا ستستبدل كلمة "RepName" باسم التقرير الخاص بك

وافنا بالنتيجة

رابط هذا التعليق
شارك

اعرف هالكود ..

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

وهذه الاكواد موجودة في وحدة نمطية

Option Compare Database


Public Function ShowPrintDialog()
On Error Resume Next
DoCmd.RunCommand acCmdPrint
End Function

Public Function Print2sides()
DoCmd.PrintOut acPages, 1, 1, acHigh, 1, True
If MsgBox("اقلب الورقة لطباعة الصفحة الثانية", vbOKOnly, "") = vbOK Then
 DoCmd.PrintOut acPages, 2, 2, acHigh, 1, True
 Else
 DoCmd.PrintOut acPages, 2, 2, acHigh, 1, True
 End If
End Function

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

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
Public Function ExportPDF()
On Error Resume Next
DoCmd.OutputTo acOutputReport, , acFormatPDF, , False, , , acExportQualityPrint
End Function
Public Function ExportExcel()
On Error Resume Next
DoCmd.OutputTo acOutputReport, , acFormatXLS, , False, , , acExportQualityPrint
End Function


Public Function CloseReport()
Do While Reports.Count > 0
DoCmd.Close acReport, Reports(0).name
Loop
End Function


 

toolbar.jpg

عند الضغط على طباعة الكل << يطبع النموذج المفتوح بالاضافة الى التقرير

ShowPrintDialog()

عند الضغط على طباعة الصفحة الحالية << يطبع النموذج فقط بدون التقرير

PrintCurrentPage()

عند الضغط على طباعة على وجهين << يطبع النموذج المفتوح بالاضافة الى التقرير

Print2sides()
رابط هذا التعليق
شارك

1- أفهم من كلام حضرتك أنه توجد عدة تقارير مفتوحة بوقت واحد لذا أنت لا تريد تحديد اسم التقرير بكل مرة للطباعة 

اذا كان الأمر كذلك أرجو الاجابة بنعم أو لا.

2- ماذا تعنى رسالة اقلب الصفحة ... صفحة التقرير! أم الورقة بمكينة الطباعة!

 

رابط هذا التعليق
شارك

1. يوجد تقرير واحد فقط في كل مرة

2. تعني المستخدم يقوم بقلب الورقة في الطابعة بعد طباعة الوجهة الاول وبعد الضغط على زر موافق يطبع الصفحة الثانية

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information