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

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

قام بنشر

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

أرجو من إخواننا التفضل بانشاء كود 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...
قام بنشر

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

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

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

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