اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كود طباعة تقريرين على وجهي ورقة واحدة.


إذهب إلى أفضل إجابة Solved by M.Abd Allah,

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

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

أرجو من إخواننا التفضل بانشاء كود VBA أو ماكرو مضاف إلى زر بالنموذج "النموذج أ" يقوم بطباعة تقريرين منفصلين "التقرير أ" و "التقرير ب"  على أساس المرجع المشترك "رقم التقرير" الظاهر على "النموذج أ", وذلك على وجهي ورقة واحدة، دون تحديد أية طابعة مع فرض أنها تحوي خاصية الطباعة عل وجهين.

مشكورين مسبقا.

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

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

Private Sub PrintReports_Click()

    Dim reportNumber As String

 

    ' افترض أن "رقم التقرير" هو اسم حقل النص في النموذج

    reportNumber = Me!رقم_التقرير

 

    On Error GoTo ErrorHandler

 

    ' فتح التقرير أ باستخدام رقم التقرير كمعيار

    DoCmd.OpenReport "التقرير أ", acViewPreview, , "رقم_التقرير = '" & reportNumber & "'"

    DoCmd.PrintOut , , , , , True ' الطباعة على الوجه الأول

 

    ' الانتقال إلى التقرير ب باستخدام نفس المعيار

    DoCmd.OpenReport "التقرير ب", acViewPreview, , "رقم_التقرير = '" & reportNumber & "'"

    DoCmd.PrintOut , , , , , False ' الطباعة على الوجه الثاني

 

    ' إغلاق التقارير بعد الطباعة

    DoCmd.Close acReport, "التقرير أ"

    DoCmd.Close acReport, "التقرير ب"

 

    Exit Sub

 

ErrorHandler:

    MsgBox "حدث خطأ أثناء الطباعة: " & Err.Description, vbCritical

End Sub

جرب الكود ده ووافنى بالرد مع مراعات تغيير اسماء التقارير وان الطابعه تكون بتطبع علي وجهين 

 

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

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

عيدكم مبارك، تقبل الله منا ومنكم صالح الأعمال، وبارك الله فيك أخي على الرد،

تمت الطباعة بالفعل، لكن على ورقتين منفصلتين رغم أن الطابعة تدعم الطباعة على الوجهين .

وأنا كنت قد طلبت أن تكون طباعة التقريرين على وجهي نفس الورقة.

شكرا.

 

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

  • أفضل إجابة
7 ساعات مضت, kamelaccess said:

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

عيدكم مبارك، تقبل الله منا ومنكم صالح الأعمال، وبارك الله فيك أخي على الرد،

تمت الطباعة بالفعل، لكن على ورقتين منفصلتين رغم أن الطابعة تدعم الطباعة على الوجهين .

وأنا كنت قد طلبت أن تكون طباعة التقريرين على وجهي نفس الورقة.

شكرا.

 

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

طيب تمام جرب الكود ده كده

واهم حاجه تتأكد أن اعدادات الطابعه أنها بتدعم duplex 

 

Private Sub PrintReports_Click()

    Dim reportNumber As String

    Dim prt As Printer

 

    ' افترض أن "رقم التقرير" هو اسم حقل النص في النموذج

    reportNumber = Me!رقم_التقرير

 

    On Error GoTo ErrorHandler

 

    ' تعيين الطابعة للطباعة على الوجهين

    For Each prt In Application.Printers

        If prt.DeviceName = Application.Printer.DeviceName Then

            prt.Duplex = acPRDPVertical ' تعيين الطباعة على الوجهين

            Exit For

        End If

    Next prt

 

    ' فتح التقرير أ باستخدام رقم التقرير كمعيار

    DoCmd.OpenReport "التقرير أ", acViewPreview, , "رقم_التقرير = '" & reportNumber & "'"

    DoCmd.PrintOut , , , , , True ' الطباعة على الوجه الأول

 

    ' إغلاق التقرير أ

    DoCmd.Close acReport, "التقرير أ"

 

    ' فتح التقرير ب باستخدام نفس المعيار

    DoCmd.OpenReport "التقرير ب", acViewPreview, , "رقم_التقرير = '" & reportNumber & "'"

    DoCmd.PrintOut , , , , , False ' الطباعة على الوجه الثاني

 

    ' إغلاق التقرير ب

    DoCmd.Close acReport, "التقرير ب"

 

    Exit Sub

 

ErrorHandler:

    MsgBox "حدث خطأ أثناء الطباعة: " & Err.Description, vbCritical

End Sub

تم تعديل بواسطه M.Abd Allah
رابط هذا التعليق
شارك

  • 2 weeks later...

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

أعتذر كثيرا على التأخير في الرد نظرا لمشكل في الإتصال،

بعد تجربتي لهذا الكود لا تزال الطباعة تتم على ورقتين منفصلتين.

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information