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

(تمت الاجابة) اختيار طابعة لطباعة التقرير بشرط الرقم الوظيفي


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

السلام عليكم

عندي برنامج لطلبات الموظفين (حجمه كبير وبه بيانات خاصة*) لم استطع ارفاقه

===

في البرنامج فورم البيانات وسابفورم بالتفاصيل ومشروطة بان يكون التاريخ هو تاريخ اليوم ليتم عرض الطلب في التقرير الذي سيطبع

في الفورم زر طباعة الطلب (تقرير)

هذا كود الزر


Private Sub Command18_Click()

On Error GoTo Err_Command18_Click

Dim MyRptName As String

   MyCriteria = "[الرقم]=" & Me![frmDetailsubform]![الرقم]

   MyRptName = "rptRequests"

   DoCmd.OpenReport MyRptName, acNormal, , MyCriteria


Exit_Command18_Click:

    Exit Sub

Err_Command18_Click:

    MsgBox Err.Description

    Resume Exit_Command18_Click


End Sub

بهذا الكود كان يتم طباعة الطلب الخاص بالموظف فقط بناء على رقمه اذا كان الطلب مكتوب بتاريخ اليوم الى هنا البرنامج يعمل بشكل جيد جداً وحسب المطلوب لكن بعد متابعتي لموضوع الاستاذ نارت بخصوص اختيار الطابعة الخاصة بالطباعة http://www.officena.net/ib/index.php?showtopic=41998&hl= ولحاجتي لجعل خيار اختيار الطابعة (من مربع تحرير وسرد) قمت بعمل الكود بهذه الطريقة بعد ان اضفت مربع تحرير وسرد يتم عرض فية اسماء الطابعات الموجودة

Private Sub Command18_Click()

Dim MyRptName As String

MyCriteria = "[الرقم]=" & Me![frmDetailsubform]![الرقم]

   MyRptName = "rptRequests"


DoCmd.OpenReport MyRptName, acViewDesign, Null, MyCriteria, acHidden


Dim oRpt As Report

Set oRpt = Reports(0)

oRpt.UseDefaultPrinter = False

oRpt.Printer = Application.Printers((Me.cboPrinter))

DoCmd.OpenReport MyRptName, acViewNormal, , MyCriteria

DoCmd.Close acReport, MyRptName, acSaveYes

Set oRpt = Nothing

Exit_Command18_Click:

    Exit Sub

Err_Command18_Click:

    MsgBox Err.Description

    Resume Exit_Command18_Click


End Sub

لكن للاسف فقد ميزة طباعة التقرير بشرط الرقم الوظيفي واصبح يطبع في الطابعة المختارة كل طلبات تاريخ اليوم الحالي

فما الحل اخواني الكرام

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

نرجو من الله ان يكون اخي الحبيب واستاذي الفاضل " ابو آدم " بخير وان يديم عليه وعلينا النعم .

اخي العزيز عبدالله

ارى الا تغير في كود زر الطباعة

فما دمت قد طبقت الدرس وخرجت معك الطابعات في مربع التحرير فيكفي الى هذا الحد

فلست بحاجة الى تخصيص لكل تقرير طابعة .

وانما يقوم بالامر لو غيرت الطابعة الافتراضية للجهاز حسب الاختيار من مربع التحرير

بمعنى ان الطابعة الافتراضية تتغير تبعا لما يتم اختياره في مربع التحرير

ما رأيك ؟

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

شكرا لاخي محمد ايمن مشاركته

الاستاذ الفاضل ابوخلبل شكرا لك على المداخلة القيمة

رايك سديد واطلب منك اذأ تكرمت ان تضيف الى الكود الاول ان تتم الطباعة من الطابعه المختارة في مربع التحرير والسرد

**********

بالمناسبة حاولت الاطمئنان على الاستاذ ابو ادم فلم احظى الا برسلتين تطمننا عليه

نسال الله ان يمن عليه بالصحة والعافية

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

اولا : الصق هذا السطر في اعلى صفحة محرر الفيجوال الخاص بالنموذج

Private Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Long
ثم في حدث بعد التحديث لمربع التحرير الصق هذا السطر
SetDefaultPrinter (Me.cboPrinter)

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

سوال

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

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

طبعا ستبقى حسب آخر اختيار

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

فنكتب عند حدث اغلاق النموذج السطر التالي

SetDefaultPrinter ("hp LaserJet 1000")

ما بين القوسين هو اسم الطابعة التي امامي الآن

هذا للعلم فقط حيث لا يتصور ان تكتب اسم الطابعة داخل المحرر ، حيث ان هذه الاجهزة غير ثابتة فقد تتغير وتستبدل في اي لحظة

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

طبعا ستبقى حسب آخر اختيار

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

فنكتب عند حدث اغلاق النموذج السطر التالي

SetDefaultPrinter ("hp LaserJet 1000")

ما بين القوسين هو اسم الطابعة التي امامي الآن

هذا للعلم فقط حيث لا يتصور ان تكتب اسم الطابعة داخل المحرر ، حيث ان هذه الاجهزة غير ثابتة فقد تتغير وتستبدل في اي لحظة

الحمدلله تم حل المشكلة بفضل الله ثم بتوجيه الاستاذ ابو خليل

للفائدة

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

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

=========

كل الشكر للاستاذ خليل على افكارة القيمة

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

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

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



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

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

Important Information